14024 " 14357 '
September 1984
HIGH-TECH MIMICRY
Ten terminal-emulation
packages for the IBM PC
— OMNINET FROM
CORVUS: GRAND OLD
MAN OF NETWORKS
TWO PRINTERS FROM IBM
COLOR GRAPHICS
AND PC COMPACT !r
ADVANCED MACRO TECHNIQUES
ON THE IBM PC
AN APL TUTORIAL
FROM ANALOG TO DIGITAL
ON THE PC WITH DASCON-1
When it comes to computer
communications there’s only
one name to remember,
Quadrann.
Now Quadram Makes Communications
as easy as 1,2,3.
When it comes to enhancement products
for IBM® PC’s and other personal computers,
no one can beat Quadram. In fact, if you use
spreadsheets or large databases, you’re
probably using a Quadram product already
Now Quadram applies their expertise to
communication devices. Not just modems,
but a full range of other products, too. So
that you can do anything from networking
many PC’s together to giving your PC full
3278 terminal emulation in an IBM
mainframe environment.
Only Quadram gives you such a selection-
complete with options and upgrade capability.
So now it’s easier for you to design the
perfect system for your needs. All you need
to do is remember one name—Quadram.
1. Quadmodem™
From your home or office,
reach out and touch
something.
Just because your computer is all alone,
that doesn’t mean it has to be lonely. Not
when you’ve got Quadmodem.
Quadmodem is a complete intelligent
modem package, including an integral or
standalone modem with supporting
documentation. Each modem comes with
QuadTalk—a powerful communications
software package plus an introductory
offer from The Source^*^
Just pick the model that’s right for you and
your computer.
The Integral Unit drops into an IBM PC, XT,
PCjr or Apple lie.
The Stand Alone is an inteiligent modem
that connects to your system through an
RS-232 port.
Both have enhanced diagnostic capability to
troubleshoot not only your ^stem, but the
system at the other end of the phone line.
And both have call progress monitoring to
automatically determine and compensate
for different types of phone systems and
transmission status (human voice, busy
signal, data or dial tones). Of course, both
plug directly from your computer into your
phone jack.
Get the modems with the name for quality.
Quadmodem™ Fully compatible with Bell
103/212A dial-up modems and the most
popular modem brands.
2.Quad3278™
Let an IBM PC communicate
To integrate your PC into a mainframe
environment, look to Quadram first.
Because now you can have all the features
of the IBM PC (mass storage and peripherals)
plus the incredible power of a mainframe
right at your desk. All it takes is Quadram’s
3278 emulation package which includes
hardware, software, even cabling.
To make your IBM PC emulate the 3278
Display VVbrk Station, get the Quad3278!^
Once you’re on-line the IBM mainframe
sees you as just another 3278 terminal.
Little does it know that you’re actually a
high-performance, intelligent work station,
with all the functions of the Personal
Computer. With mainframe support you
can download data, process it on your PC,
even store it on your own disk for later
reference.
Make the connection from micro to main¬
frame. And back it up with Quadram quality.
It’s the logical step for the future.
3. Quadnet ™
Tlirns your IBM PC’s into
a Local Area Network.
Local Area Networking (LAN) is one of the
most interesting md useful ideas to come
down the pike. Basically, it allows you to
inter-link a group of computers together so
they can share information and peripherals
with each other.
And now with Quadnet, you don’t have to
compromise your system to fit our system.
Instead, you can easily link as few as two, or
as many as 255 IBM PC’s together in a hard¬
wired network. And you can configure
them almost any way you want. They can
work independently of each other or share
resources and peripherals.
The possibilities are endless. But the
important thing to remember is that
Quadnet gives you a choice with four
different Network Systems. Choose the one
that meets your price and performance
needs.
Quadnet grows as you grow. Yet the user
commands stay the same, thanks to the
upward compatibility of the Quadnet
operating software.
Whichever version you hook on to, you get
a complete package (hardware, software,
and documentation). And most importantly,
you get Quadram’s reputation for quality.
QUADRAM QUALITY
At Quadram, we don’t
make personal computers.
We just make them
better. So insist on the
Quadram name. It’s your
assurance that you’re
buying from one of
the most established
and involved
companies in the microcomputer field. Ask
your dealer about us.
IBM- PC. XT. PCjr, are registered trademarks
of International Business Machines Corporation.
'The Source is a registered trademark of
Source Telecomputing Corporation.
APPLE lle^ is a registered trademark
of Apple Computers. Inc.
©Copyright 1984 Quadram Corporation. All rights reserved.
QUADRAM
' ^ An Intelligent Systems Company
4355 International Blvd./Norcross, Ga. 30093
(404) 923-6666/TWX 810-766-4915 (QUADRAM NCRS)
CIRCLE NO. 191 ON READER SERVICE CARD
INTERNATIONAL OFFICES
Interquadram Ltd. 442 Bath Road. Slough. England SL16BB
Tel 6286-63865 Tlx 847155 Auriema G Interquadram GmbH
Fasanenweg 7 6092 Kelsterbach. West Germany Tel 6107-3089
Tlx 417770 Seva G Interquadram s.a.r.l. 4i. Rue Ybry, 92522 Neuilly
Tel 758-1240 Tlx 630842 Iso Bur Chevco Computing 6581 Kitimat
Road. Mississauga. Ontario. Canada L5N-2X5 Tel 416-821-7600
Has Your IBM PC
been suffering from lack
of communication?
The Information Interface
What’s s(q>porting
YOttflBMFC?
The First Information Management
System That Takes Your P.C.
Seriously.
Combines, in a single integrated
system, all of the historically separate
functions of database manager, report
generator, query language, forms
facility, database definition, data
dictionary, and programming
language.
1785 Woodward Drive
Ottawa, Onta rio K2C OR 1
(613)727-1397
The first commercially available
Information Management System
which uses the Entity Relationship
Model of Data. It captures not only
data, but also the way in which it is
structured. Generates information
applications as much as 20 times
faster than conventional methods.
INFORMATION INC.
CIRCLE NO. 148 ON READER SERVICE CARD
FOR USE ON IBM PC® & XT®,
HYPERION®, COLUMBIA®,
EAGLE®, COMPAQ®, CORONA®
AND RAINBOW®.
Taligrass
TaiK-HAfdFWc
2e ' 20 Mb
In today's hard disk jungle, Tallgrass clears
a path by offering high performance, integrated
mass storage solutions for the IBM® PC/XT, the
T.I. Professional and related computers.
TALLGRASS INNOVATIVE FEATURES
MASS STORAGE SYSTEMS with formatted
HardFile^'^ capacities of 6, 12, 20, 35 and 70 Mb,
all with built-in tape backup.
CONVENIENT INTEGRAL TAPE BACKUP
SYSTEM allows rapid tape "image" streaming,
or incremental file-by-file backup and restore on
ANSI standard inexpensive data cartridges,
instead of the usual floppies, video cassettes, or
low-capacity removable Winchester devices.
NETWORK READY and fully compatible with
networks such as PCnet®and EtherShareT'^
HIGH RELIABILITY with dual directory and
read-after-write verify options. A dedicated
landing zone, where the read/write heads reside
when the disk is idle, provides data protection
during powerdowns and transportation.
Follow the Tallgrass path to your local computer
dealer and watch your personal computer transform
into a powerful data processing system.
Available from COMPUTERLAND® Entre®
Computer Centers, MicroAge® Computer Stores
and other participating computer dealers.
New!
IBM-XT Cartridge
Tape Backup
World Headquarters: Tallgrass Technologies Corp. / 11100 W. 82nd St.
Overland Park, KS 66214/913/492-6002/Telex; 215406 TBYT UR
Canadian Headquarters: Tallgrass Technologies (Canada), 1775 Meyerside Drive
Mississauga, Ontario, Canada L4V 1H2/ 416/ 673-3244
Eurojjean Distributor: CPS Computer Group, LTD
Birmingham, England B276BH/{021) 7073866
Australian Headquarters: Tallgrass Technolgies (Australia)/Five Dock Plaza,
Suite 12/50 Great North Road/Five Dock/Sydney, N.S.W. 2046/(02) 712-2010
CIRCLE NO. 234 ON READER SERVICE CARD
Tallgrass
Technologies
Corporation
IBM® is a registered trademark of International Business Machines Corp. PCnet® is a trademark of Orchid Technology EtherShareis a registered trademark of 3Com Corp.
92
FOR IBM PERSONAL C OJVl PUTER USER
nn'
Volume 2, Number 3
September 1984
OURNAL
Articles
POOR RICHARD’S CONVERTER: FROM A TO D
WILLIAM H. MURRAY / DASC0N-1 demonstrates its usefulness as an A/D converter.
30
HIGH-TECH MIMICRY
AUGIE HANSEN / Ten terminal emulation systems are tested, and all score well.
46
OMNIUM-GATHERUM
SUSAN GLINERT-COLE and )ULIE ANDERSON / Omninet does a
respectable job handling the microcomputer networking needs of a small business.
56
COMPARING GREAT THINGS WITH SMALL
ARTHUR A. GLECKLER / IBM invades both ends of the printer market spectrum.
65
THE DOS COMMAND IBM FORGOT
DOUGLAS RITARI / EPSON.COM simplifies the use of a variety of printer options.
79
OKI DOKEY: FROM PC TO OKIDATA 84
lEFF GARBERS / The Okidata 84p can be made to print the PCs line-drawing characters.
92
STRINGS
CHRISTOPHER MORGAN / The third excerpt from Bluebook of Assembly Routines.
111
LIFE IS SIMPLE WITH APL
PARDNER WYNN / APL puts in a winning performance at the game of Life.
129
THE BEST OF BOTH WORLDS
GREGG L. PETTIT / A set of macros improves programming efficiency.
151
ASSEMBLERS WITHOUT ULCERS
ERIC S. RAYMOND / ASM-86 turns into a structured programming language.
173
Departments
Tech Notebook
Products
Directions 5
23: Behind BASIC's Back 198
Tech Book 199
Letters 14
Tech Mart 203
Newsline 24
Product Index 205
Legal Brief 188
Tech Releases 192
Calendar 208
Advertisers’ Index 207
September i984
3
TAURUS
TAKE CONTROL
TEAM
Data acquisition and process control
systems for your personal computer
No matter what your applica¬
tion in computer automation,
Taurus Computer Products Inc.
has a team of products with the
power and performance to let
you take control. Easy and afford¬
able solutions that can read data
from factory, field or lab; make
decisions based on user-supplied
parameters and output the
instructions and controls back to
the real world.
Take TAURUS LAB, the research
tool that can plug into any personal
computer with command func¬
tions like simple read and write,
high speed block reads, pulse
counting and direct thermocou¬
ple input. And there’s TAURUS
ONE for industrial process con¬
trol applications. That’s where
rugged, reliable performance
matched with cost effectiveness
and expansion capabilities pay
their way.
And meet the newest member of
our team - TAURUS BOARD -
a single, plug-in system that can
easily harness the power of
your IBM PC or XT. It can handle
16 analog inputs and 2 analog
outputs with 12-bit resolution plus
16 digital I/O signals and 4
event counters. What’s more, it
comes complete with a signal
termination panel, interconnecting
ribbon cables, software that’s
compatible with all our products.
Get all the details, options and
prices on the Taurus team of
data acquisition and process con¬
trol products for IBM and other
personal computers. Taurus backs
all systems with comprehensive
customer support and warranty
program. Give us a call today
and let’s discuss your specific
applications. Automation and
control were never this easy, this
affordable.
TAURUS LAB, TAURUS ONE and TAURUS BOARD are
trademarks of Taurus Computer Products Inc.
IBM is a registered trademark of International Business
Machines Corporation.
17UJRUS
COMPUTER
PRODUCTS
INC
340 Commercial St
Manchester
NH 03101
United States
(603) 623-7505
1755 Woodward Dr
Ottawa, Ontario
Canada K2C 0P9
(613) 226-5361
Telex 053-3577
rOURNAL
I VOL. 1 , NO. 3
Publisher: Jeff Weiner
Editorial
Editor: Will Fastie
Managing Editor: MARJORY Spraycar
Technical Editors: JULIE ANDERSON,
Susan Glinert-Cole
Senior Copy Editor: Susan Holly
Copy Editor: Barbara Tilly
Research Assistant: ARTHUR A. Gleckler
Contributing Editors. Ray Duncan, Richard
Foard, Augie Hansen, Thomas V. Hoffmann,
Sol Libes, William H. Murray, Max Stul
Oppenheimer
Editorial Secretary. Diana L. Carey
Editorial Assistant. CAROLE AUTENZIO
Art & Production
Art Director. Nancy Lepow
Assistant Art Director. Jane Frey
Art Assistant: Sandra Ray
Advertising Sales
Advertising Director. Newt Barrett
Advertising Coordinator. Sheryl Panzer
District Managers. RITA Burke, Ian Smith- East
Coast; Caroline Anderson -Midwest; Ted Bahr,
Harriet Rogers- West Coast
Account Sales Manager. PAULINE SCHERER
Account Representatives. STEVE CANNON—East
Coast; JOHN Grogan -Midwest; Bill Bush,
Arlene Steadman -West Coast
Circulation
Subscription Director. Chet Klimuszko, Direct
Mail Manager. ERIC A. BERNHARD, Renewal
and Billing Manager. Shane Boel
Consumer Computers &. Electronics
Magazine Division
President. Larry Sporn
Vice President, Marketing. J. ScOTT BRIGGS
Vice President, Circulation. Carole Mandel
Vice President, General Manager. ElLEEN G.
Markowitz
Vice President, Licensing and Special Projects. Jerry
Schneider
Vice President, Creative Services. Herbert Stern
Creative Director. Peter J. Blank
Editorial Director. JONATHAN D. Lazarus
Marketing Manager. Ronni Sonnenberg
Ziff-Davis Publishing
President, Richard P. FriesE; President, Consumer Magazine
Division, Albert S. TrainA; Executive Vice President, Market¬
ing and Circulation, PAUL H. ChooK; Senior Vice President,
Phillip T. HeffernaN; Senior Vice President, Sidney HoltZ;
Senior Vice President, Edward D. MuhlfelD; Senior Vice Pres¬
ident, Philip SinE; Vice President, Baird DaviS; Vice President,
George Morrissey, Vice President, Rory ParisI; Vice President,
William L. Phillips,- Treasurer, Selwyn TaubmaN; Secretary,
Bertram A. Abrams
PC Tech Journal (ISSN 0738-0194) is published 12 times a year,
$29.97 for one year, $52.97 for two years, $69.97 for three years.
Additional postage $12 for Canada &. Foreign by Ziff-Davis
Publishing Company, One Park Avenue, New York, N.Y.
10016. Application for Second-Class Postage Rates pending at
New York, NY 10001. POSTMASTER. Send address changes or
subscription inquiries to PC Tech Journal, P.O. Box 2968,
Boulder, CO 80321.
Business Offices: Advertising, One Park Avenue, New
York, NY 10016. 212-725-7947. Subscription inquiries to PC
TECH JOURNAL. P.O. Box 2968, Boulder, CO 80321.
Subscription service. 212-725-3628. Back issues, send $7.00/copy
to PC TECH JOURNAL. Box CN 1914, Morristown, NJ 07960.
Editorial Office: PC TECH JOURNAL. The World Trade
Center, Suite 211, Baltimore, MD 21202. 301-576-0770. The
Source ID STY682. CompuServe 74156, 2365.
PC Tech Journal is an independent journal, not affiliated in any
way with International Business Machines Corporation. IBM is
a registered trademark of International Business Machines Corp.
Entire contents Copyright ® 1984 Ziff-Davis Publishing
Company. All rights reserved; reproduction in whole or in part
without permission is prohibited. Contact Jean Lamensdorf,
Manager, Reprints/Rights &. Permissions. BPA membership
(Selected Market Audit Division) applied for October 1983.
CIRCLE NO. 225 ON READER SERVICE CARD
DIRECTIONS Will Fastie
Printer Standards
After more than fifteen years of inexpensive printers,
we still have weak standards.
The computer industry's record of
setting and then sticking to stan¬
dards is worse than my record of
getting home on time. My wife can
tell you how terrible that must be.
One reason for this is just plain
stubbornness on the part of the
manufacturers. 1 mean, give some¬
body just a few unused codes in the
ASCII set and WHAM!, they've got
a way to accomplish some special,
proprietary function. The thought
of doing what everyone else is doing
is anathema: after all, the whole
point is to offer greater features or
to deliver some gimmick.
The industry has done quite
well in some ways. From an elec¬
tronic point of view, we benefit
each day from numerous standards
that we probably take for granted.
The RS-232-C standard is so strong
that we can buy an adapter, cable,
and modem with 99.44-percent cer¬
tainty that it will all plug together
and work. The 5 ^4-inch floppy
drive has become so standardized
that add-in drives can be purchased
from mail-order sources with confi¬
dence. A wide selection of display
monitors uses either the composite
or the RGB standard. Most printers
will interface either to the so-called
Centronics parallel interface or to
an RS-232-C serial port.
Beyond the electrical interface
is the question of how a device at¬
tached via one of these interconnect
standards behaves. Most computer
systems operate serial ports properly
and consistently. Displays usually
differ only in resolution, and so far
it has been easy and economical to
build displays that meet the resolu¬
tion requirements of small comput¬
ers. Diskette drives have been more
complicated, but there is a program
for the PC that can read and write
about 40 different formats and con¬
vert data from one format to anoth¬
er, so the problem of incompatible
systems can be solved.
Printers, on the other hand,
don't conform as well. Actually,
they don't conform at all It's not
only irritating, it's confusing.
Most printers available today,
whether dot matrix, daisy wheel, or
some other technology, are able to
print at least a subset of 7-bit ASCII
characters that I will refer to as the
96-character set. It includes the nu¬
merals, upper- and lower-case let¬
ters, common punctuation marks,
and a few control characters such as
line feed and carriage return. This
character set is sufficient to meet
the needs of most users when it
comes to programming or word pro¬
cessing. At this level, most printers
can be said to conform to a standard,
That is, however, the standard
of 15 years ago. The revolution in
dot matrix technology has spawned
a generation of printers with ex¬
tended character sets, multiple type
fonts, multiple pitch sizes, print en¬
hancements, and (this is the rub)
graphics capabilities. Not only do
these printers support a full 256
characters (8-bit ASCII), some pro¬
vide several full 256-character sets.
Things got rolling with the
TRS-80 Model I. It is clear in retro¬
spect that someone saw how the
low resolution of the Model I's dis¬
play could be duplicated with a spe¬
cial block-character set built into
the printer. Soon, Epson began de¬
livering printers that included this
character set. Epson also provided a
dot-by-dot graphics capability, and
the era of the contemporary person¬
al computer printer was born. Ep¬
son's MX series of printer became
something of a standard.
Now that's a good story. Unfor¬
tunately, another company came
along with its improvement and
mucked things up. Have you
guessed who? Yup. IBM.
At first, IBM kept pretty close
to the standard. The first model of
the IBM PC printer, an MX-80 in
disguise, even included the TRS-80
graphics character set, which IBM
called the "ASCII-Graphic Matrix."
fust as IBM announced its printer,
however, Epson began to include
the Graftax-PIus ROM as a standard
feature in its models. IBM followed
with the Personal Computer Graph¬
ics Printer. It was at this point that
IBM made a proprietary decision.
IBM's new ROM removed the
TRS-80 block graphics entirely in
favor of a representation of the IBM
character set. The new printer was
thus capable of printing almost
every character that could be dis¬
played on the screen, with some
limitations. In addition, the IBM
printer was almost, but not quite.
September i984
5
Most Program Editors
Are Shockingly Primitive.
Use Pmate™ once, and you’ll
never go back to an ordinary
text editor again. Pmate is more
than a powerful programmer’s
text processor. It’s an inter¬
pretive language especially
designed for customizing te)d
processing and editing.
Just like other powerful edi¬
tors, Pmate* features full-screen
single-key editing, automatic
disk buffering, ten auxiliary
buffers, horizontal and vertical
scrolling, plus a “garbage
stack’’ buffer for retrieval of
deleted strings. But, that’s just
for openers.
What really separates Pmate
from the rest is macro magic. A
built-in macro language with
over 120 commands and single¬
keystroke “Instant Commands”
to handle multiple command
sequences. So powerful, you
can “customize” keyboard
and command structure to
match your exact needs.
Get automatic comments on
code. Delete comments. Check
syntax. Translate code from
one language to another. Set
up menus. Help screens. You
name it.
And, Pmate has its own set
of variables, if-then statements,
iterative loops, numeric calcu¬
lations, a hex to decimal and
decimal to hex mode, binary
conversion, and a trace mode.
You can even build your own
application program right
inside your text processor.
So, why work with primitive
tools any longer than you have
to? Pmate by Phoenix. $225.
Call (800)344-7200, or write.
Phoenix Computer Products Corporation
1416 Providence Highway, Suite 220
Norwood, MA 02062
In Massachusetts (617) 769-7020
* Pmate is designed for microcomputers using the Intel 8086 family of
processors, and running MS-DOS!^ A custom version is available for
the IBM PC, Tl Professional, Wang Professional, DEC Rainbow,
and Z80 running under CP/M!^
Pmate is a trademark of Phoenix Software Associates Ltd.
MS-DOS is a trademark of Microsoft Corporation. CP/M is a trademark of Digital Research. Inc.
DIRECTIONS
CIRCLE NO. 143 ON READER SERVICE CARD
compatible with the Graftrax-Plus
standard. This new IBM printer was
thus quite attractive for the user
who desired an integrated system.
Unfortunately, it was an¬
nounced at about the same time the
next wave of the Epson product
line, the FX family, emerged. The
FX, with its greater speed and en¬
hanced capabilities, was an attrac¬
tive choice, but it did not provide
the IBM character set.
Meanwhile, a Japanese printer
invasion was underway. I hope you
are not surprised to learn that these
printers conformed to no standard.
To be fair, some did match the Ep¬
son specifications, but most did it
their own way, and none included
the IBM-style character set.
That leaves us with a mess. As
PC owners, we would like to have
printers with all the nice, new fea¬
tures, but it is also handy to have a
machine that matches properly
with the computer. There seems to
be no way we can have IBM capa¬
bility and the most up-to-date fea¬
tures in one machine, although no
technological barriers prevent it.
Also, as software developers, we
would like to write applications and
systems software that are indepen¬
dent of printer hardware yet take
advantage of the more powerful fea¬
tures, particularly graphics, that the
printers can offer.
I think it's about time for a
stronger standard to emerge. The TI
855 printer demonstrates that such a
standard is possible. It includes an
Epson-like mode as well as a Diablo
630 emulation. Font cartridges are
already available. Forthcoming op¬
tions for the machine are supposed
to provide IBM compatibility and
loadable character-set definitions.
Printers need to provide power
and flexibility. More important,
they need to become as interchange¬
able as stereo components. I believe
that such standardization would
have a far-reaching effect on the
useability of small computers, to the
long-term benefit of us all. nm^i
PC Tech Journal
Call Micro Mart’s
Corporate Accounts Division
and make more than a
"Connection."
Discover America's largest
Source of premium IBM PC com¬
patible hardware and software.
You are a chief decision-maker
for the development of your com¬
pany’s PC System.You
*■^11 chose iBM for all the
right reasons.
Affordability.
Performance. Flex-
■liil; ibility. Reliability.
1 EPSON
1 FX-ao
You've studied
the many
choices of
hardware
and soft¬
ware after-market
configurations that are all readily
available from our multimillion
dollar inventory. AST, QUADRAM,
SPIN WRITERS. EPSON, OKIDATA,
TANDON, SHUGART, HERCULES,
MICROSOFT, ASHTON TATE, and
MICROPRO are only a sampling of
our industry leading selection —
All at special "Fortune 500 ”pricing.
Now it's time to call
America's PC Specialists at
Micro Mart.
You can be sure your order will
be expedited A.S.A.P., and at very
competitive pricing. We’re the
source that really delivers, and
keeps on delivering. Remember
you can count on Micro Mart for
the best service and technical
support to get you up and run¬
ning and keep you there. So pick
up your phone and give us a call,
and as always demand your best
price and expert advice.
ATLANTA
404-956-8088
404-449-8081
CHARLOTTE
704-568-7470
FT. LAUDERDALE
305-749-0330
TAMPA
813-972-5000
LOUISVILLE
502-895-5624
WASHINGTON D.C
301-294-9000
ORLANDO
Coming Soon
NEW ORLEANS
Coming Soon
Micro Mart Headquarters
3159 Campus Drive, Norcross, GA 30071
CORPORATE ACCOUNTS
HOTLINE-ORDERS ONLY
1 - 800 - 241-8149
FOR INFORMATION
404 - 449-8089
Show Our Ads To Your
Purchasing Agent, Please
CIRCLE NO. 203 ON READER SERVICE CARD
What do you get when you cross
1200 baud, free on-line time,
and extra features at a price Hayes
can’t match?
Shopping for a modem
doesn’t have to be a riddle. A
tedious sifting through claims
and counterclaims. A quest
for the best that raises more
questions than it answers.
The new MultiModem,
from Multi-Tech Systems,
gives you the right answers
from the start. The answers to
all your questions about what
a first-rate intelligent modem
should do for you.
Data Transmission
Speed?
The MultiModem gives
you a choice—either 1200 or
300 bits per second. 1200 for
fast, efficient communications
and lower long-distance
charges. Like when you’re
downloading data from the
corporate computer, or swap¬
ping files with a friend across
the country. 300 bps for your
less demanding applications,
like checking out bulletin
boards, playing games, or
having on-line keyboard
conversations.
Free On-Line Time?
With the MultiModem you
get CompuServe’s DemoPak
—a free two-hour demonstra¬
tion of their service, and up to
seven more free hours of on¬
line time if vou subscribe. You
also get a ^50 usage credit
from NewsNet, a service
which lets you tap into 150
different specialized business
newsletters.
Inteiiigence? Extra
Features?
Of course, the Multi-
Modem automatically dials,
answers, and disconnects.
But it does a few extra things
too, things the Hayes Smart-
modem 1200'“ doesn’t. Like
recognize dial tones and busy
signals, so the MultiModem
will automatically redial, or
automatically try a different
number. And It remembers
phone numbers too, up to six
of them, in Its battery-backed
memory.
Trademarks— MultiModem. MultiCom PC. Multi-Tech
Systems. Inc.—CompuServe: CompuServe Information
Services, anH&R Block company — NewsNet: NewsNet.
Inc.—Smartmodem: Hayes Microcomputer Products,
Inc.—Oosstalk: Microstuf, Inc.—Data Capture: Southeast¬
ern Software—PC-Talk III: Freeware/The Headlands Press.
MultiModem.
Hayes-compatibility?
Yes, the MultiModem is
Hayes-compatible. (Most soft¬
ware requires modems that
are.) That means the Multi-
Modem will run with popular
communications programs
like Crosstalk XVI, Data
Capture, PC-Talk ill, our own
MultiCom PC, and dozens of
others.
What About Price?
At $549, the MultiModem
retails for $150 less than the
Smartmodem'“. You get
Hayes-compatibility and so
much more—for so much
less.
What do you get when
you cross all these things?
The MultiModem. From Multi-
Tech Systems—a company
that’s been making top-quality
modems for over thirteen
years.
Isn’t this the answer
you’ve been looking for?
CIRCLE NO. 204 ON READER SERVICE CARD
For the name of your
local distributor, write to
Multi-Tech Systems, Inc.
82 Second Avenue S.E.
New Brighton, Minnesota 55112.
Or call us at (612) 631-3550.
The right answer every time.
The new HERCULES
Color Card *
^ves you the
parallel port
IBM forgot-for ^1 mora
And it fits into the XT’s short slot.
The new Hercules Color Card gives you these five important
features in a color graphics card.
1. A parallel printer port. If you buy IBM’s color card, you
won’t get a parallel port for a printer. Ugh. You’ve just wasted a
valuable slot for an extra printer card.
2. It’s short. Our new Color Card uses advanced gate array
technology to reduce the chip count by 30 and use less than half the
board space IBM does. Which makes the new Hercules Color Card
perfect for the short slot in an XT.
3. Fully IBM compatible. Any program that runs on IBM’s
color card will run on the new Hercules Color Card. With RGB or
composite video, any IBM compatible monitor will work too.
4. Hercules Graphics Card compatible. If you have a Hercules
Graphics Card (model GBIOI or later), or plan to buy one, an
ingenious software switch on our new Color Card allows both cards
to be kept in the system at the same time.
5. Low price. At a suggested list price of $245, the new
Hercules Color Card has all these features for only $1 more than
IBM’s color card.
Call for our free information kit. See why the
company that made the first graphics card for
the IBM PC still makes the best.
Hercules. We’re
strong on graphics.
800 255 5550 Ext. 423
Address: Hercules, 2550 Ninth St, Berkeley, CA 94710 Ph: 415 540-6000 Telex; 754063 Features: 2 year warranty Foreign distributors:
Compuserve/Canada; Reflex/U.K.; Computer 2000AV. Germany; Edisoft/France; Source Ware/Australia. Trademarks/Owners: Hercules/Hercules
Computer Technology; IBM/Intemational Business Machines.
This price comparison is based on the Suggested List Price as of2.22.84 for the IBM Color Graphics Adapter.
’■M^m
□UU'
ecof'lrwardSufQ®'' __
’nnQ(!C. ._
UL/CSA pending
Curtis Manufacturing Co. Inc.
305 Union Street
Peterborough, N.H. 03458
r-P
$49,951
) EMI
i«S?SS’SSs5K»
D, I se K/inxinnu'_' ^ ^
Lit!® . 'opef<^^
rsssig-’s!^*V
BK:JR0MC SURGE
mHTmjEWBm
Curtis electronic surge protectors cost less and offer a lifetime performance warranty while protecting
your valuable computer hardware and software from dangerous, potentially damaging powerline
overvoltage transients - "surges, spikes, and glitches" - that can cause instant failure or drastically reduce
system life. With our specially designed EMI-RFI filters, your system is protected from troublesome
office equipment general hash created by small motors,
fluorescent lamps, and the like.
Manufacturing Company, Inc.
PROTECIORS CURTIS
TOUCH
Each of these precious jewels, will easily blend with the colors
of any modern office or home surroundings. For safe, trouble-
free performance, give your computer that jewelers touch.
Available at all ComputerLands,
Sears Business Systems Centers,
Entre Computer Centers, Businessland,
Inacomp, MicroAge, Bezel, or your local
microcomputer dealer. Over 1000
locations nationally! In Canada: Micro¬
computer Products, PO. Box 235, Ajax,
ONI Canada L1S 3C3, (416) 427-6612.
For the Curtis dealer nearest you
call (603) 924-7803
CIRCLE NO. 125 ON READER SERVICE CARD
swrtcMjJs°V25 to g', 581
lurgeJ^yiJfiaOSec. \
The tmth about information mana2;cmcnt:
KnowledseMari
beats dBASEover
250 ways.
‘■S. .the leading seller is not the best!’
You get more from Know lcdgcMan. Relational data manage¬
ment, ad hoe queries (like IRM’s SQL/DS), spreadsheet, math
and statisties, printed fonns management,sereen I/O manage¬
ment, a full-seale programming language. Plus you ean now'
get a text proeessoi; a fonns paintei; eolor graphic's and a
iTin-time x ei^sion.
All completely integrated. So you ean do just about anything
you w'ish. Like financial modeling, order entiy, job costing or
decision suppoit.
If yoifd like to see more about how' Know ledgeMan
beats dRASH,see your dealer today and ask fora free
feature-bv-feature comparison. Or call orw'rite: Micro Data
Base Systems, Ine., P.O. Box 248, Latavette, IN 47902,
(317)463-2581.
Operaring Systems: I’CHOS, MS1X)S, CIVM 86. Rctiuircmcius: 192K RAM
IVxi procfssinu, tt)nii.s paiiiiint; and color graph its aiv optional integrated KnowledgeMan
eomponenis.
KnowledgeMan is a trademark of'Micro Data Rase Systems, lnt.,dRASH II of
Ashion-late.SQI., DSoi IRM.C iiirent release is 1.06 as 014/1/84. (lolorgraphics
ivc|iiiivs l’( DOSand IRM eolorgraphics card orei]iii\alent.
CIRCLE NO. 118 ON READER SERVICE CARD
r
a**?*
b?.«^
cl** O**
\ V'*' . c*'* V**
\
' to* *■ \c **''
.<s I'*
V'-*' ,»ccA'»*
r’A**'
15*-'TVs
-Ses
•s«s
KNOWLEDGE
rmn
ihc Knowledge Manager from MDBS
How Can You Avoid Getting
Trapped Under An Ancient
Word ^ Processor!
Buy Word
l^rfect!
whether you are in “edit” or “create”
mode. Your word processor should
do it automatically and WordPerfect
does. WordPerfect lets you think in
terms of ideas, not pages. It is simple
enough that you quickly forget about
the mechanics and your writing flows
easily.
So if you don’t want to be caught
under a word processing monster, try
WordPerfect. We’re certain it will
improve the quality of your writing.
Once upon a time, word processors
were monstrous things. Dot com¬
mands, page orientation, and separate
editing, formatting and printing pro¬
grams turned them into lumbering
beasts. Only a well-educated pro¬
grammer would dare don his armor
and tackle such a beast — not a plea¬
sant task for a modern secretary,
executive, or writer.
Then came WordPerfect and the
beast was slain.
WordPerfect was designed to work
for you not against you. WordPerfect
has no command language to compli¬
cate your writing. Pressing a single
key is all it takes to
bold, underline or center.
When writing, you don’t want to
worry about page formatting, making
room for headers or footers, or
You’ll love it —
not only for the features
we’ve built in, but
also for the
antiquities
we’ve
left out.
SATELLITE SOFTWARE INTERNATIONAL
288 WEST CENTER STREET, OREM, UTAH 84057 (801)224-4000 TELEX 820-618
CIRCLE NO. 236 ON READER SERVICE CARD
LETTERS
Patching Things Up
The article "Time on Your Hands"
(Bob Smith and Tom Puckett, May
1984, page 146) addresses a problem I
would dearly like to put to rest. I have
crashed my system many times with
the DEBUG TRACE command as dis¬
cussed in that article. Of course, 1 am re¬
luctant to install a patch in DEBUG
that I cannot understand. I may then
suffer even worse problems. Your article
has solved nothing for me.
I use DOS 2.0, and 1 refer only to
the patch shown for that version of
DEBUG on page 158. The code to re¬
solve the problem is inserted at offset
2E80. It appears that the authors believe
that this is beyond the end of the code
loaded from DEBUG.COM. I infer this
from the fact that the contents of CX,
which contains the number of bytes
loaded, is 2E80, and they proceed to in¬
crease the length by the length of their
added code. In fact, the code is placed
on top of DEBUG. Since COM files are
loaded starting at offset 0100, the length
2E80 runs out to 2F7F. If the authors
meant to replace part of DEBUG, there
is no need to increase its length. If they
meant to put their code at the end, it is
in the wrong place. In any case, it is
not sufficient to place the patch at the
end since that is the location of the new
program segment built by DEBUG.
I have installed the patch as shown
and observed no problems. However, I
am concerned that it is a bug waiting to
show itself. Because of the apparent
confusion of the authors, I can have no
confidence. Since I have no idea what
this region of DEBUG.COM is for, I
cannot tell whether a problem is likely
or not. I doubt, however, that this part
of DEBUG.COM has no purpose.
Can anyone find an appropriate
place to put this patch code?
Robert Duncan Scott
Cincinnati, OH
R.D. Scotts confusion is understandable
and is my fault because I overlooked the
effect of the PSFs offset. The result is
that 1 wmecessarily increased DEBUG's
length—our patch actually fits within
the extra space at the end of DEBUG.
However, this enor is harmless.
A more detailed analysis of
DEBUG'S memory usage shows the fol¬
lowing: DEBUG is loaded at offset lOOh
in a certain segment. Its nominal end is
2E80h bytes later at 2F7Fh. Its internal
stack top is at 2AE2h with the bytes
above there to 2CDDh taken up mostly
by static data (message text, etc.). The
large area from 2CDEh to 2F0Fh is used
as a temporary work area (I don't know
why it's so large). The new PSP built by
DEBUG begins at 2F10h. Again, the
nominal end of the program is at
2F7Fh—beyond the point of the new
PSP, suggesting that the program's
length was rounded up (perhaps to a
multiple of 128 bytes—the usual size of
a Disk Transfer Area).
Our patch appears from 2E80h to
2EBlh—toward the end of the tempo¬
rary work area. It originally took up
more of the space toward 2F10h, but
subsequent changes reduced it to the
cunent size. 1 decided not to relocate
the final version of the patch closer to
the new PSP, as that accompUshed little.
The beginning address of the patch and
the program length are coincidentally
equal. All address calculations were
done based upon snuggUng up to the be¬
ginning of the new PSP at 2F10h. The
change in length of the patched program
was an enor—though harmless.
Considerable usage of the patched
program has shown that no part of DE¬
BUG tramples on the patched area, al¬
though that can't be taken as proof. As
with most patches to code for which no
source is available, one can never be ab¬
solutely sure—only confident to a high
degree, which we are.
—Bob Smith
3-D Question
I have been exposed to BASIC off and
on over the years— since about the time
that it left Dartmouth, in fact. I think
that I have learned BASIC and then for¬
gotten it about four different times.
In all that time, I have never seen a
program equal to the one published in
the May issue of PC Tech Journal ("3-D
Graphics for the IBM PC," Jay Mallin,
page 36), in regard to concept, documen¬
tation, clarity, and even listing format. I
have used a similar program, supplied
by Digital Research for DR. LOGO, in
my school classes, but because of the
lack of documentation I never really
knew what was going on. (Your pro¬
gram is orders of magnitude faster than
the DR> LOGO version.)
Congratulations on a fine article.
I have been planning for some
time to add an 8087 chip to my PC, and
after reading your article I made the
plunge and have placed an order for
one. Is it possible, with the 8087, to pro¬
duce a THREED that actually rotates an
object while you watch?
Sam Stan
Rose Valley, PA
To modify the THREED program to ro¬
tate objects while you watch, you would
have to make the the program divide ro¬
tations into small increments—maybe
one degree—and rapidly move through
them. Simply plugging in an 8087 won't
provide the speed you need, since IBM's
interpretive BASIC does not use the
chip. But if you compile the program
with a BASIC compiler that makes use
of the 8087, it will probably provide the
effect you are after. How well it works
will depend partly on the speed of the
line-drawing and other graphics routines
the compiler provides.
—Jay MaUin
14
PC Tech Journal
Wfe just made
IBM’s PC/XT 20 times
more powerftil.
Introducing Dragon’s New 65 Mb and 140 Mb Hard DiskDrives.
What makes Dragon the
best hard disk drive for the
IBM PC, XT, and compatibles?
Larger Storage Capacity...
With 65 Mb of on line storage, the SP-65 holds up
to 57 Mb of formatted data. The SP-140 stores up to
121 Mb of formatted data with a total capacity of 140
Mb. No 5V4 inch Winchester stores more than these
new Dragon Disks.
Faster Access Time...
At 30 msec, average access time, the SP-65 and
SP-140 are faster than other 574 inch Winchesters...
3 to 4 times faster.
Better Features...
The SP-65 and SP-140 come with hard disk,
controller, host adapter, power supply, cables, and
chassis. Both systems are compatible with PC-DOS
and MS-DOS.
More Options...
Additional options include: Dual drives with up to 280
CIRCLE NO. 144 ON READER SERVICE CARD
Mb formatted). Streamer
tape and random access back up. 90 day warranty.
Responsive technical help.
For more information, contact Dragon Industries.
35 Main Street, Hopkinton. Mass., 01748.
(800) 824-8006 or (617) 435-4183 in
Massachusetts. Distributor and OEM
inquiries invited.
Dragon Industries
Turning Micro Computers into Monster Computers.
Dragon Industries
35 Main Street, Hopkinton, Mass. 01748
Name_
Company_
Address_
Telephone_
Computer_
OS Version_
Interested in: □ SP-65
□ SP-140
THE EHD OF SOFTNRRE
FREEBESl
Finally there’s a foolproof way to protect
software against unauthorized duplication.
And the technology is all on the disk itself.
The new Prolok™ disk doesn’t need add¬
on hardware. Instead each diskette is marked
with a unique, physical “fingerprint.” No two
are alike. A precise description of the individ¬
ual print is encoded magnetically. The finger¬
print AND the description must match exactly
before the software is decrypted and released
to the system. No match, no access.
Its genius is its simplicity and familiarity.
Prolok looks like an unprotected disk, loads
like an unprotected disk, works like an
unprotected disk. The user feels immediately
at home and in command.
Backups are easily made via normal sys¬
tem utilities. However, to be read they must be
accompanied in the system by the original
Prolok disk.
Prolok puts the casual copier-and even
the deliberate pirate-out of business. It barely
PROIOK. SOFTHRM
increases the price of your product, yet it
makes sure your customers don’t buy one pro¬
gram and copy ten.
Several command line slash (/) options
are built into Prolok diskettes for customized
security, depending on your needs.
Software can be loaded easily onto Prolok
diskettes using any system from a PC to com¬
mercial mass duplication equipment.
Prolok is an engineering breakthrough of
Vault Corporation, which has been success¬
fully safeguarding software since the inception
of security disk technology. Over 2000 busi¬
nesses and organizations protect their valu¬
able programs with Prolok.
Simply contact Vault Corporation at 2649
Townsgate Road, Suite 500, Westiake Village,
CA 91361. Or phone us at 800-
445-0193 (U.S.) or 800-821-
8638 (California). And find out
why software freebies are
becoming a thing of the past.
PROLOK
mOTEaiOH, RKHT OH THE DISK.
Copyright ©1984 Vault Corporation Prolok is a trademark of Vault Corporation
CIRCLE NO. 180 ON READER SERVICE CARD
Clock/Calendar
Automatically inserts the date and time
when you turn on your computer.
Encode/Decode
Ensures the security of your files.
Calculator
Does your figuring in
background mode so you
won t have to change
programs.
' Memo
Writes
memos and
keeps a
written
record of
each one.
Personalized form letters
Uses your file to personalize
your letters and make labels.
Appointment
Reminder
^ Lets you know where
to be and when.
Tfeonar thinlffi your PC
As your business grows, so should your
computer. Only Tecmar offers you this unique
package of hardware and free softwcire. With it
your PC can grow to its full potential.
Tecmar Multifunction Boards...
“extremely powerfur—PC World
A Tecmar board will expand your computer’s
memory and increase its speed and efficiency.
It will give you additional ports to accommodate
a wide range of peripherals from modems and
plotters to dot matrix and letter quality printers.
With a Tecmar board you can run powerful pro¬
grams hke Lotus 1-2-3™* and WordStar®'^^ on a
PCjr. The RamSpooler makes printing a back¬
ground task and frees your PC for other jobs.
A built-in clock/calendar automatically inserts
the date and time at power on and is indepen¬
dently powered by an easily replaced battery.
Every Tecmar multifunction board is run
through a series of rigorous tests to ensure quahty.
Our incredibly low failure rate (0.4%) is un¬
paralleled. All boards are additionally backed
by a full one-year warranty.
Banner
Allows you to print in a variety of type
sizes. Even large banners!
Rolodex t
Finds the name and number
you need instantly without i
changing programs. I
Hardware Diagnostics
Tests your PCs memory and parallel
ports to stop problems before they happen.
Personal Finance
Balances your
checkbook
and helps
you keep an M
inventory. d
should do all of the above.
Free Software “...a chest of Jewels !’-pc Week
Great hardware deserves great software. So, if
you buy a Tecmar board we’ll give you our
Treasure Chest™ of Software at no extra charge.
The Treasure Chest consists of 24
programs that include business
applications, a calculator, a
security system, hardware diag¬
nostics, even games! Most of
these can be run in background
mode with programs like Lotus
1-2-3 and WordStar. Using these
features is as easy as a couple of keystrokes,
and without changing disks. No other company
offers you such an extensive array of software
with their multifunction boards.
So, ask your dealer for a demonstration
of any of Tecmar’s multifunction
boards. And check out the free
software while you’re there. Or
call 216-349-0600 for the dealer
nearest you.
’■‘Lotus 1- 2- 3 is a registered trademark of the Lotus Development Corporation.
tRolodex is a registered trademark of the Rolodex Corporation. ttWordStar
is a registered trademark of the MicroPro International Corporation.
Tecmar
THE POWER BEHIND THE PC
CIRCLE NO. 154 ON READER SERVICE CARD
LETTERS
An Easier Way
Please accept the following contribution,
which we believe to be a better ap¬
proach to intercepting commands under
DOS than was explained in "Disarming
DOS FORMAT" (fames A. Folts, July
1984, page 32). This is a trick we
learned from National CBS timesharing
in the early 1970s.
ECHO OFF
REM(((FORMAT.BAT)))
REM PREVENTS USE OF
FORMAT COMMAND LACK¬
ING DRIVE SPECIFICATION
REM REQUIRES FORMAT.COM
TO BE RENAMED AS
FORMATTD.COM
IF NOT '' %1 %2 %3 %4 %5
%6 %7 %8 %9
IF '' ="%1" ECHO DRIVE
SPECIFICATION MISSING—
PLEASE TRY AGAIN
James M. Detmei
Detmer Systems Co.
New Canaan, CT
The problem of the FORMAT program
mentioned in "Disarming DOS Format"
is troublesome. However, there is a
more straightforward solution than the
one the article proposes. Direct modifi¬
cation of operating software should al¬
ways be avoided. Those who live by the
patch will surely die by it.
Here is my solution to the problem.
First, rename FORMAT.COM to some¬
thing you would not ordinarily use,
such as FMT###.COM. Now create a
batch file named FORMAT.BAT. It
should contain only one line: FMT###
A: /V. Now when you type FORMAT
you will format a floppy on drive A:,
but on an XT that is about all you use
the FORMAT command for anyway.
Daniel T. Sullivan
Bolton, MA
Technical Knockout
1 looked and looked, but I couldn't find
where you hid figure 1 in "3-D Graph¬
ics for the IBM PC" (Jay Mallin, May
1984, page 36). When you find it, please
send me a copy.
Does Susan Glinert-Gole (sic) really
spell her name the way it appears in
"Name, Rank, and Serial Number"
(May 1984, page 192)?
Does Cole/Gole really want line
430 of ROMREAD.BAS in this same ar¬
ticle to read .... ? The program
runs much better if it's ..".. ..
Does Scott McCann really want R1
and R2 in figure 1 of "Using a Switch-
Type Joystick on the IBM PC" (May
1984, p. 195) to be 50K each? The cir¬
cuit works much better if they are
100k (small k) each.
And this is a "Tech" magazine?
Bill Kiaengel Jr.
Valley Stream, NY
Point by point:
1 . It wasn't there. I found it, and
it's reproduced below.
2. Nope. That one surprised us, too.
G-C is making us pay for it, believe me.
3. Our listings are reproduced di¬
rectly from letter-quality copies of the
programs. The original definitely had a
tilde that got lost in the reproduction
and printing shuffle. We consider our re¬
production of listings to be the best any¬
where, but we are in the process of im¬
proving them for the sole purpose of
eliminating this kind of problem.
4. No. 100k is conect. We blew it.
(We had several letters—some of which
are published below—calling this enor
to our attention. Thank you all.)
5. Yes. Even our mistakes are
technical.
—WF
Figure 1 for "3-D Graphics for the IBM
PC":
X
y
z
In Search of the Lost
Joystick
1 read with interest "Switch-Type Joy¬
sticks on the PC" (Scott McCann, May
1984, page 195). 1 have one comment
and one question. First, the resistive val¬
ues shown in the schematic and men¬
tioned in the text should be lOOK ohm
resistors. Second, I wrote to Fair Radio to
obtain the joystick named in the article
and received a catalogue that made no
mention of this joystick. Does anybody
know where I can buy a "professional"
joystick with SPDT switches?
William M. McDonald
Salem, VA
We did a little checking, and, sure
enough, we can't find the joystick in
question. However, professional-quality
joysticks and other input devices are
available from Measurement Systems,
Inc., 121 Water Street, Norwalk, CT
06854, 203-838-5561. Measurement Sys¬
tems was kind enough to send us one of
the joysticks (model 570), and it is very
fine indeed. It also costs $200. If you
need serious, industrial-grade devices,
see these folks.
—WF
In the article "Using a Switch-Type
Joystick on the IBM PC," I believe the
resistor values should be lOOK ohms
each, for R1 and R2, if their parallel
connection is to be 50K ohms as in¬
tended. From my quick analysis, the
scheme should work as the author de¬
scribes with this correction. Please ad¬
vise if the error is mine, however.
Your magazine offers a very good
format, and 1 enjoy the explicit nature
of the topics, which allow a reader to
put the information to immediate use.
Please continue the good work.
David J. Anderson
Council Bluffs, I A
dBASE II Overkill
As a subscriber to PC Tech Journal from
the beginning, 1 have generally enjoyed
your magazine very much. However, 1
must protest about the contents of your
June 1984 issue.
1 realize that dBASE 11 is a very
popular program on the IBM PC and
that software written in dBASE II is
used by a large number of people. I
think that frequent articles on the pro¬
gram are quite justified. But an entire is¬
sue of a monthly magazine devoted al¬
most exclusively to one product!
I work with a wide variety of appli¬
cations, including database, word pro¬
cessing, spreadsheet, graphics, and com¬
munications, on more than 60 micro¬
computers. I am responsible for finding
the best software for each application
and helping people use the software ef¬
fectively. I am interested in new tech¬
niques and products in all areas of mi¬
crocomputing. The people I work with
do not have time or inclination to ex¬
plore these areas themselves.
I look to publications like PC Tech
Journal for help in discovering new
hardware and software products, along
with technical pointers that may help
me in my work. It so happens that we
do not use dBASE II, but even if we did,
I would prefer articles on a variety of
subjects. For me, the investment of time
and money in your June issue had a
0-percent return.
Alan Dolgoff
Microcomputer Manager
Hambrecht & Quist
San Francisco, CA
cos i
-sin i
0
sin i
-cos i
0
0
0
1
20
PC Tech Journal
LETTERS
Pascal times more
I read your review of the various Pascal
compilers with great interest ("Pascal
Times Four/' Jeff Duntemann and-
Michael Bentley, July 1984, page 58).
The parts dealing with Turbo Pascal
were very fair, at least as amended with
the material on version 2.0.1 would like
to add a few comments.
Not only does the compiler take
you back to the editor upon detecting a
compilation error—the same thing hap¬
pens on run-time errors as well. This is
possible even when you have compiled
to a disk file instead of to memory. If
you've ever spent a day tracking down
UCSD Pascal's cryptic "floating-point
error" and "value range error" messages,
you will appreciate the luxury of being
directed immediately to the statement
that is at fault.
Turbo's habit of clearing the
screen at the start of execution seems to
be Borland's sole error of judgment.
You can defeat it with the aid of the
debugger, however. In all programs I
have examined, there's an INT 10 (hex)
located at 02FC in the code segment:
change this to a pair of NOPs and the
screen will not clear. Since I don't use
Turbo on a PC clone, I don't know how
many other INT 10s would have to be
disabled to avoid crashing the system,
but a little prowling around with the
debugger should do the trick. Since
these are .COM files, rather than .EXE
ones, the debugger will not make any
difficulties about writing the revised
version back to the file.
Turbo programs wipe out the tran¬
sient part of DOS, so after any program
is run, COMMAND.COM must be re¬
loaded. As a result, the keyboard buffer
is cleared, and programs cannot be re¬
run by means of F3.
Turbo programs are compact as
well as fast. The runoff program that
typed this letter occupies a .COM file
that is 16K bytes long. The same runoff
program written in Microsoft's
FORTRAN-77 results in an .EXE file
that is 37K bytes long.
Turbo's flash compiler gives you
that same feeling of immediacy that is
the sole redeeming feature of BASIC.
The difference Turbo's quick turn¬
around makes in developing a compli¬
cated program has to be experienced to
be believed. Of course, you're dealing
with an infinitely better language than
any BASIC known to me—but that
should not need to be said.
Thomas W. Parsons
Brooklyn, NY
Your recent article on the various
Pascals was very good. However, as an
owner of Microsoft Pascal I would like
to make a few points. I agree that the
documentation is horrible, but there are
three areas that seem to have been over¬
looked in the article. These are the
metacommands (specifically Snofloat-
calls/Sfloatcalls), the null object files
(nulf.obj, nule6.obj, and nulr7.obj), and
precision control.
First, the "floatcalls" metacom¬
mands specify how real math operations
are done. The Sfloatcalls command is
faster but requires more code. Second,
the null object files replace potentially
unused units in the code, such as the
file system, error handling, or real oper¬
ations, respectively. Third, the preci¬
sion-control procedures (MPSRQQ,
MPBRQQ, MPDRQQ) set the maximum
precision for real numbers (23 to 64
bits). Below is a table of the TRIGTEST
benchmarks with various options (using
MS-Pascal 3.13).
trigtest size: 31068
(Sfloatcalls) 0:07.0
trigtest size: 30212
(Sfloatcalls,nule6) 0:07.0
trigtest size: 31756
(Sfloatcalls, 0:04.9
mpsrqq)
As you can see, with the minimum real
precision the benchmark required a sig¬
nificantly smaller amount of time.
Peter A. Mead
Greenwich, CT
Since I expect to buy a Pascal compiler
soon, I was especially interested in read¬
ing "Pasdal Times Four." I had already
eliminated IBM's release 1.0 compiler
from consideration, but I want to find
out more about its release 2.0, men¬
tioned in "Tech Releases" (July 1984,
page 192). IBM's spec sheet sounds al¬
most identical to the Microsoft release
3.2 covered by your review. Two ques¬
tions come to mind:
What Microsoft release number
does the IBM release 2.0 correspond to?
Did IBM use Microsoft's documen¬
tation or has it written its own? Is it any
better than Microsoft's?
Thanks for a well-written article
that helps to sort out the differences be¬
tween these compilers.
Bill Tinsley
Iowa City, lA
There is no direct connection between
IBM Pascal V2.0 and any Microsoft re¬
lease of MS Pascal. However, we do
know that MS Pascal V3.2 is a later
(and more powerful) release of the com¬
piler. Microsoft's manual set for V3.2 is
a daunting document, hut it is still miles
ahead of either IBM V2.0 or any pre¬
vious Microsoft document. I know of no
good reason to buy IBM Pascal over MS
Pascal—why place yet another layer of
bureaucracy between yourself and the
manufacxmer of the product? It is still
unclear to me what IBM could add to
MS Pascal except confusion.
MS Pascal is nearly impenetrable to
the Pascal newcomer. Although you
may want it eventually to compile your
magnum opus, I recommend picking up
Turbo Pflscul V2.0 to cut your teeth on.
Now that it has full heap management,
graphics, and overlays, Turbo V2.0 is
shoulder-to-shoulder with the big guns.
—Jeff Duntemarm
In Defense of Proloks
Mitchell Schoenbrum's letter concern¬
ing Prolok software security diskettes
("Proloks and Panaceas," June 1984,
page 16) was somewhat bittersweet. Al¬
though he was highly complimentary,
as was the author of "New Weapons for
Fighting Software Piracy" (Werner L.
Frank, February 1984, page 71), we are
afraid Mr. Schoenbrum is laboring un¬
der a few misconceptions.
He addressed the level of security
as his primary concern. We are realistic
enough to agree that no software protec¬
tion scheme is totally impenetrable. But
then neither is the lock on your front
door. The understood purpose is to keep
the majority of offenders out. Prolok op¬
erates on this premise, and we have
positioned it in the marketplace as an
easily installed, low-cost, highly effec¬
tive (probably 99 percent or better)
means of software protection.
The friend Mr. Schoenbrum refers
to undoubtedly was using one of our
earlier versions. Our latest version of¬
fers six times the security level, plus we
are constantly upgrading our product.
Currently, there isn't a copy utility
available that can penetrate our latest
Prolok product, and it is impervious to
standard debug equipment.
Again, we do not promise a panacea
to software piracy. We simply offer the
most effective, cost-efficient protection
against the majority of offenders.
Michael H. DarUng
Vice president, sales and marketing
Vault Corporation
Westlake Village, CA
September 1984
21
Get yourself a
This little critter comes with speciaRy-designed software
that fRes through the maze of keystrokes on the most
popular business programs faster than you
can say “cheese.”
Miaosoft* Mouse puts the power to run
Multiplan* Lotus 1'2'3,'“ VisiCalc
WordStar* in the palm
of your hand. CRck
the left button on
the mouse, a custom
menu appears. In
EngRsh, not hierogly-
ahics. CRck the right
Dutton and execute your
command: move text or data, edit, format, print. AU at
bRnding speed without touching the keyboard.
It also lets you create your own menus for editing and
formatting existing appRcation programs. So people can
learn programs quicker and do more productive work as
they learn.
The miyitiest mouse.
Microsoft Mouse runs circles around other mice.
It is the high performance mouse for the IBM* PC and
PC XT From the company known for high
trained mouse.
performance software. Microsoft BASIC is the language
spoken by nine out of ten microcomputers worldwide.
MICROSOFT Our MS'DOS operating system tells
The High Performance Software yOUt IBM PC KoW tO think.
So don’t monkey around with any other mouse. Call
800'426'9400 (in^shington State call 206'828'8088)
for the name of your nearest Microsoft dealer. Then
go with Microsoft Mouse.
The mouse that soars.
Microsoft and Muldplan are registered trademarks and MS is a trademark of Microsoft Corporation.
Lotus 1-2-3 is a trademark of Lotus Development Corporation. VisiCalc
is a registered trademark of VisiCorp. WordStar is a registered trademark of MicroPro.
IBM is a registered trademark of International Business Machines Qirporation.
Sol Libes
RANDOM RUMORS
AND GOSSIP
Microsoft President Bill
Gates recently expressed the
view that IBM has "a year
or two to go" as the prevail¬
ing microcomputer standard
before 80286 technology
takes over. IBM is expected
to announce its 80286-based
system either this month or
next with initial deliveries
expected at year's end. This
should be an expansion of
the PC family and not a re¬
placement for any of the
family members. IBM is
also rumored to be develop¬
ing a speedy—300 lines per
minute—new printer for the
PC. Compaq introduced
in July a desktop hard disk
system using the 8086 micro¬
processor and dual-speed
clocking (IBM standard—
4.77Mhz and a higher
speed—8Mhz). At least two
other companies are already
showing such products. The
machine comes equipped
with a built-in tape back-up
system for the hard disk.
IBM provides no such tape
back-up for the XT; about 27
disks are needed to back-up
the hard disk. Sharp Elec¬
tronics is reportedly al¬
ready showing to several
computer manufacturers an
electroluminescent display
panel of 80 characters by 25
lines; the display has a thick¬
ness of only 1.5 inches.
Hewlett-Packard is the
first company to introduce a
product that uses it. IBM is
developing a 3.5-inch hard
disk drive that stores 20
Mbytes; the company is ex¬
pected to use these new "mi¬
cro-Winchesters" in systems
that will be introduced next
year and to offer them to
other computer makers.
Eagle Computer, a mak¬
er of IBM-PC compatibles, is
reported to be having prob¬
lems with cash flow and
poor sales and the company
is considering some layoffs.
IBM's most recent price re¬
ductions may exacerbate Ea¬
gle's problems. Digital
Research is expected soon
to release Crystal, a software
developer toolkit containing
a large collection of routines
that can be merged and inte¬
grated into programs to re¬
duce development time and
to provide features such as
menus, graphics, and multi¬
tasking. Several vertical and
scientific application soft¬
ware packages are soon to be
announced by IBM. Expect
a big emphasis on education¬
al software. IBM dealers re¬
portedly have been applying
increasing pressure on the
company to allow them to
sell the 3270-PC, which cur¬
rently is available only via
IBM's own sales force. Re¬
ports now are circulating
that IBM is seriously consid¬
ering this for selected busi¬
ness-oriented dealers. IBM is
expected to double the num¬
ber of retail outlets (4,000 by
1985) for its personal com¬
puter products within the
coming year. Most of this
new increase is expected to
come from office equipment
dealers. With PC/r sales not
measuring up to expecta¬
tions, rumors are rampant
that IBM is seriously con¬
sidering distribution of the /r
through mass market outlets.
ON THE PC
IBM is reportedly beta test¬
ing a multitasking version of
MS-DOS for its forthcoming
80286-based system. Howev¬
er, it should be noted that
Digital Research, Inc. (DRI)
has been delivering a multi¬
processing DOS with PC-
DOS compatibility since
July. That product. Concur¬
rent PC-DOS, will run up to
256 PC-DOS or CP/M tasks
concurrently on a standard
PC; four of these tasks can
be viewed on the display.
Concurrent PC-DOS also has
a true windowing system
and communications support.
DRI has also introduced a
plug-in board for the PC that
turns Concurrent PC-DOS
into a multi-user system that
will support up to four users.
The board and associated
software are called StarLink.
It thus appears that DRI has
about a six- to nine-month
lead over IBM's introduction
of a multi-user PC system,
although that lead may suf¬
fer from Concurrent PC-
DOS's lack of full PC-DOS
2.0 compatibility.
^ _
MULTIPROCESSING
Even with the new base
price of $999, however, the
machine may be too expen¬
sive for this channel. Finally,
rumors of an IBM lap-size
portable keep popping up.
The latest comes from Eu¬
rope, where IBM is said to be
testing an 8088-based ma¬
chine made by Matsushi¬
ta Electric Co., Ltd.
with bubble memory, ROM
software, a display with 8
lines by 80 characters, and a
disk drive.
24
PC Tech Journal
ILLUSTRATION • DAVID POVILAITIS
ILLUSTRATION • KEVIN McPHEE
THE TECH JOURNAL
NEWSUNE
News, views, and gossip on the IBM
and IBM-like marketplace
IBM NETWORKING
IBM will probably intro¬
duce an interim LAN system
from an outside vendor to
tide it over until it can intro¬
duce its own LAN in 1986
or 1987. The company is
known to be evaluating LAN
systems from Sytek, 3Com,
and Ungermann-Bass for pos¬
sible adoption. IBM has
named six of the seven Bell
operating companies as dis¬
tributors and installers of its
LAN cabling system.
IBM is known to be work¬
ing with Texas Instruments
(TI) on the development of
ICs for its LAN project. TI is
believed to have run into de¬
velopment problems, which
could be causing IBM to
reassess its fundamental
LAN architecture. Develop¬
ment of a networking system
to interconnect a large num¬
ber of varied devices that
will work reliably and easily
is a mammoth task, and IBM
appears to be taking the time
to do it properly. Further,
the demand for LAN sys¬
tems appears to be develop¬
ing slowly; IBM really may
not be under a great deal of
pressure to get its system
out. The company is already
known to have wired 10 of
its buildings in Rye Brook,
New York, with 3.5 million
feet of cable connecting
2,800 devices, and it is wir¬
ing 11 additional buildings.
Thus, IBM is expected to do
intensive testing of its LAN
system before it is released.
This will take time.
CUSTOMS SEIZES
PC COPIES
The U.S. Customs service in
Seattle recently seized a large
number of allegedly counter¬
feit copies of the IBM PC, af¬
ter IBM registered its copy¬
right with customs and
pointed out the copies. IBM
thus is following in Apple's
footsteps in attempting to
protect its copyrights.
A number of Far Eastern
suppliers have been shipping
copies of the Apple II into
the United States without
the copyrighted ROMs, and
Apple has requested that
U.S. Customs take action
against these companies.
Apple has also encountered a
similar problem in Canada,
where the government has
been less aggressive in stop¬
ping illegal importing of
Apple copies. A large num¬
ber of these copies make
their way into the U.S. from
Canada. The likelihood is
that the same will happen
with IBM PC copies.
IBM may be in for more
problems as a software house
in Norwood, Massachusetts,
called Phoenix Software As¬
sociates has announced the
availability of a BIOS ROM
that is functionally identical
to the copyrighted IBM BIOS
ROM and yet does not in¬
fringe on the IBM copyright.
A license for the Phoenix
ROM and Phoenix version of
PC-DOS 2.1 is only $290,000.
Several Far East vendors have
already taken out licenses,
and PC-compatibles are ex¬
pected to be introduced
shortly from more than a
dozen Taiwanese and Japa¬
nese manufacturers.
At the same time, IBM
has added a ROM BIOS up¬
grade to its price list. Al¬
though the chip contains the
entire BIOS and thus would
seem fair game for the man¬
ufacturers of clones, IBM is
protecting itself by requiring
that purchasers exchange
their old ROM for the new
one. The new ROM, besides
incorporating a number of
fixes for known bugs, also
includes the ROM scan fea¬
ture that is needed to operate
the IBM Cluster or to allow
a boot from a hard disk.
IBM PRODUCT
CENTERS —
GAIN OR LOSS?
IBM recently denied rumors
that its chain of 80 Product
Centers was operating at a
loss and that it does not plan
to open any more centers. In¬
dustry pundits expect IBM to
continue opening Product
Centers and possibly to have
as many as 100 in operation
by the end of the year.
Rumors have been circu¬
lating in the industry that
IBM's Product Centers were
having problems with high
labor costs, high overhead,
and low sales volume as a re¬
sult of high prices and lim¬
ited product selection. Future
Computing recently reported
that the Product Centers ac¬
count for about 5 percent of
IBM's PC sales, whereas in¬
dependent stores and chains
account for 51 percent of
sales. The remaining sales
are via VARs, VADs, and
IBM's sales force. Previous
estimates had IBM selling as
much as 65 percent through
its direct channels.
RANDOM NEWS BITS
Intel has given Oki Elec¬
tronic Industry of
Tokyo a license to make a
CMOS version of the 8088
microprocessor used in the
IBM PC. Fiarris is already
making a CMOS version of
the 8086, which is used in
the HP-110 portable, and also
will soon be making an 8088
CMOS chip. Dataquest, a
market research outfit, re¬
ports that notebook-size com¬
puters made up 3 percent of
systems sold last year, and it
predicts sales of such com¬
puters this year will increase
to 7 percent and by 1988
will rise to 30 percent. Sony
has introduced a color moni¬
tor, using its Trinitron CRT,
that it claims will display
1,280 by 1,024 pixels.
September i984
25
IBM PC USERS
'leamMa
and perf(
Let the TeamMate 1000 Series of Winchester and Kodak 3.3MB floppy subsystems set
productivityrecords for your IBM PC or compatible. Taking only minutes to install,
weVe got all the competition beat. TeamMate requires no special software or format¬
ting diskettes. All you need is DOS 2.0! j
We have a variety of configurations to fill a variety of needs. Like the 1
TeamMate 1110 add-in 10MB Winchester, with power consump- : '
tion so low it can be safely installed in even fully configured PCs.
Or try the TeamMate 1103 KODAK 3.3MB floppy add-in sub¬
system. Also software transparent, it gives you 2.78MB of
rugged floppy storage- perfect for Winchester backup or
as a low cost alternative to Winchester disks. Or get
the advantages of both with our TeamMate 1213
Winchester/Kodak floppy add-on combination.
All at record prices.
Even TeamMate’s customer support is fast.
Should your subsystem need any service
during the first 3 months of the ^month
warranty period, your dealer will be
shipped a swapout unit within
24 hours!
Ask for TeamMate IBM and
Apple subsystems at your local
computer dealer. Or call us at
(408) 496-0434.
TeamMate by Data Technology
2775 Northwestern Parkway
Santa Clara, CA 95051
TEL: (408) 496-0434
TWX: 910-338-2044
COHERENT™ IS SUPERIOR TO UNIX*
AND irs AVAILABLE TODAY
ON THE IBM PC.
Mark Williams Company hasn’t just taken a mini-computer
operating system, like UNIX, and ported it to the PC. We
wrote COHERENT ourselves. We were able to bring UNIX
capability to the PC with the PC in mind, making it the most
efficient personal computer work station available at an
unbelievable price.
For the first time you get a multi-user, multitasking operating
system on your IBM PC. Because COHERENT is UNIX-
compatible, UNIX software will run on the PC under
COHERENT.
The software system includes a C-compiler and over 100 utili¬
ties, all for $500. Similar environments cost thousands more.
COHERENT on the IBM PC requires a hard disk and 256K
memory. It’s available on the IBM XT, and Tecmar, Davong
and Corvus hard disks.
Available now. For additional information, call or write,
Mark Williams Company
1430 West Wrightwood, Chicago, Illinois 60614
312/472-6659
CIRCLE NO. 164 ON READER SERVICE CARD
Mark
Williams
Company
COHERENT is a trademark of Mark Williams Company.
*UNIX is as trademark of Bell Laboratories.
CIRCLE NO. 186 ON READER SERVICE CARD
i
V ,,„vOff „..vo->
«ll'®' =^«» S''* 00«
, 00»'fc^S5* ’'<'“S”
*>' ^ ViSS
iace-
'N»''*V ,,0llS-- .ase4
FOR THE IBM® PC, IBM® XT, COMPAQ.™ i
CORONA.™ CORONA™ PORTABLE. LEADING EDGE,® EAGLE PC.-" TAVA.™ f
_ We’ve turned
hard disk storage into
an affordable reality.
^Miovable
1 disk system.
Allows easy primary
or backup storage
through inter- /
changeable disks.
$1895
Half-height streamer
tape system. Ideal data
backup system for
large-scale
storage.
$1095
Half-height 10
Mbyte internal hard
disk system.
$895
Half-height external
hard disk system (10,
20, or 33 Mbyte). Also
accommodates
half-height backup
system.
$ 1295-$2295
Kamerman Labs combines the speed and storage capacity
of hard disk technology with prices you can’t afford to pass up.
A dramatic leap in performance for
your personal computer.
Even the smallest Kamerman Labs
hard disk unit gives you 30 times the
storage capacity of a typical floppy
disk. Sophisticated business and pro¬
fessional data storage requirements
can now be handled with ease.
Better yet, you can access data up
to 10 times faster than with floppies.
Spend more time working and less
time waiting.
And it’s easy to use. Kamerman
Labs lets you boot directly off the hard
IBM is a registered trademark of International Business
Machines Corp.
Compaq is a trademark of Compaq Computer Corp.
Corona is a trademark of Corona Data Systems.
disk, just like the IBM XT.
A complete backup solution.
Backup of hard disk data is a critical
requirement in many microcomputer
applications, so Kamerman Labs
offers several reliable and cost-
effective backup devices that are fully
compatible with our hard disk units.
Lower prices than ever.
Because you deal directly with
Kamerman Labs, we offer you re¬
markably low prices. Finally, you can
realize the full benefits of hard disk
Leading Edge is a registered trademark of Leading Edge
Products, inc.
Eagle is a registered trademark of Eagle Computers.
TAVA is a trademark of TAVA Corporation.
technology without the excessive
costs.
Tested and formatted.
All Kamerman Labs systems have
been thoroughly tested and formatted
before delivery.
Full warranty and technical
support.
Kamerman Labs backs all its prod¬
ucts with a full one-year warranty on
both parts and labor. Plus you get
prompt technical support through a
toll-free hotline number.
To order, call toll-free
800 - 522 - 2237 .
In Oregon, Hawaii and Alaska call
503 - 626 - 6877 .
Mr
i^dmerman
Labs
All Kamerman Labs units come in either internal or external
configurations.
8054 S.W. Nimbus, Bldg. 6, Beaverton, Or 97005
Phone 503-626-6877
CIRCLE NO. 101 ON READER SERVICE CARD
Metrabyte's inexpensive
DASCON-1 moves
analog/digital numbers in
and out of the PC with
the greatest of ease.
O ne of the best features of a
small system is its ability to
analyze user data. The data,
entered at the keyboard,
can be listed, plotted, and used to
control external devices. With an
analog/digital I/O expansion board
like DASCON-1 from Metrabyte,
the data can be entered automati¬
cally in either analog or digital
form, and the above-mentioned
functions can be performed with
very little user intervention.
DASCON-1 is Metrabyte's solu¬
tion for getting analog or digital in¬
formation into and out of an IBM
PC. It allows high-precision data ac¬
quisition with a throughput of 16
channels per second.
Metrabyte's expansion board
not only has obvious industrial and
scientific applications but also has
many uses for the small-business or
home computer owner. Applications
can range from power-line monitor¬
ing to long-term temperature mea¬
surements for home heating man¬
agement. For example, by wiring a
solar cell to one A/D input and a
temperature probe to another, the
converter (12 bits plus a sign bit)
boasting a resolution of .0005 volts
while configured in the differential
mode; a clock/calendar, with bat¬
tery back-up, which provides timing
references at 1 second, 1 minute, or
1 hour for data acquisition and
which can be accessed to update the
date and time of the PC; 12 bits of
digital I/O (through two ports),
which are TTL-compatible,* internal
voltage and current references,- two
(R.T.D.) platinum resistance ther¬
mometer interfaces for temperature
readings between —200 deg. C and
+ 650 deg. C; two optional 12-bit
D/A outputs; optional instrumenta¬
tion amplifiers for two of the A/D
converters; a system manual; and
software programs. Photos 1, 2, and
3 show three of the boards that
make up DASCON-1.
The DASCON-1 manual is di¬
vided into nine well-written and de¬
tailed chapters. Chapter topics in¬
clude an introduction, a guide to in¬
stallation, how to program DAS¬
CON-1 (more than 20 pages of ex¬
amples and applications), how to set
and read the on-board clock, how to
Ra Ri chards Caiverter
F R O M A T O D
WILUAM H. MURRAY
user could investigate the effect of
incident sunlight on greenhouse
temperatures. Using the software
provided with DASCON-1, this data
can be saved and plotted at a later
date, or it can be plotted as it is re¬
ceived by the various inputs.
The DASCON-1 package con¬
tains a four-channel, dual-slope A/D
William H. Munay teaches computer science
at Broome Community College in
Binghamton, NY. He is a contributing editor.
use the graphics package, lineariza¬
tion of data, special applications, ac¬
cessories (to make life easier), and a
description of the calibration pro¬
gram and test information. Three
appendices describe the various con¬
nections to DASCON-1; input and
output data ranges, accuracy, and
precision; and user-serviceable parts.
Refer to table 1 for details on
DASCON-1's electrical and conver¬
sion specifications.
30
PC Tech Journal
Siiii
DASCON'l
Photo 1: A screw terminal
hoard that makes all analog and
digital inputs and outputs avail¬
able via miniature screw termi¬
nals. All 12 digital I/O lines are
monitored hy LEDs.
Experimenting with
DASCON-1
One of the easiest techniques for re¬
ceiving from or sending data to
DASCON-1 is to use the software
included with the board. Eleven dif¬
ferent modes allow the user great
flexibility in programming in the
BASIC language. Table 2 gives a
short description of each mode. The
various modes are accessed from
BASIC with a CALL statement and
parameters that are to be passed:
CALL DASCONl (MODE,
CHANNEL, DATA 0, DATA 1,
BASE ADDRESS)
As an example of how to access
data from channels 0 and 1 on the
A/D converter, consider the pro¬
gram in listing 1. Mode 0 is a free
scan mode that samples all four
A/D channels. Lines 30-80 set aside
part of the memory that is reserved
for BASIC in order to BLOAD DAS¬
CONl.BIN. Actually, this program
can reside outside of the BASIC seg¬
ment. Lines 90-150 initialize DAS¬
CON-1 for mode 0 operation. This
only needs to be done once per pro¬
gram, unless modes are changed.
Line 160 is the actual CALL state¬
ment to DASCON-1. Data for chan¬
nels 0 and 1 is returned to DIO (0)%
and DIO(I)% in terms of bits. In
other words, +/—4095 bits corre¬
spond to +/ —2.0475 volts. Lines
170-180 convert the bit readings to
voltages, and line 190 prints the
data to the screen.
Listing 2 is a modification of
the original program and will per¬
mit the user to receive data upon an
interrupt from the clock. In this
program, mode 3 is originally called
to start the interrupt process. Once
32
PC Tech Journal
Your IBM PC Or XT Graphics Are Only
As Good As What's Under The Hood.
Get Smooth Clean Performance With Graphix Plus 11™.
Single Board Support Of Both CoXox And Monochrome Display.
W hen it comes to color/graphics adapter boards, your
IBM Personal Computer—and you—deserve only the
best. That’s why Graphbc Plus II gives you
outstanding graphics... and a whole lot
more. With Graphix Plus II, you’ll get
50% faster, flicker-free scrolling over
IBM’s color/graphics board. And, the
Graphix Plus II is the only product on
the market which provides dual monitor
support for both RGB color and
monochrome graphics on a single board.
It gives you full screen (640 x 352)
monochrome graphics and high
resolution color graphics with the appropriate
software. When two monitors are used, Graphix
Plus II automatically shifts to the appropriate screen.
Luxury Items Are Standard Equipment
With the Graphix Plus II, you’ll be glad to know extra
conveniences come standard. For example, you get a
parallel printer port which allows you to hook up any IBM
compatible printer or SASI compatible hard disk controller.
Our ‘PC Accelerator’™ software is included which gives you
the use of two RAM disks and a print buffer. Plus, you
can access the screen RAM with absolutely no “snow” or
flashing. Graphbc Plus II also provides
—- true gray scale display on composite
video monitors, a light pen interface,
32K display RAM (text and graphics
modes), compatibility with Lotus
1-2-3™ and other popular software
packc^es. And much more. A battery
operated clock calendar is available as
an option.
Puts You In The Driver's Seat
Graphbc Plus II fits easily in any
expansion slot inside your PC. And when you power up,
you’ll see the same high-powered quality you’ve come to
expect from your machine. Incredibly smooth, versatile
performance. From start to finish.
Graphbc Plus II. So good, so reasonably priced, you might
say ...we’ve outclassed the competition. See your local
dealer for all the details. Or call or write STB Systems,
Inc., 601 North Glenville, Richardson, Texas 75081
(214)234-8750.
STB Systems, Inc.
IBM PC, XT are registered trademarks of International Business Machines Corporation.
Lotus 1-2-3 is a registered trademark of Lotus Development Corporation.
. 1.. . ■ r. i
CIRCLE NO. 199 ON READER SERVICE CARD
Expandins Microcomputing
PC Accelerator is a registered trademark of ResiCorp.
DASCON-1
Photo 2: An electromechanical
relay hoard that contains 8 relays
rated at 120 volts RMS at 3 amps
resistive load, for controlling
power loads.
called, the system will continue to
generate interrupts until reset (a call
to mode 4). A call to mode 6 (lines
170-200) reports the readings from
each interrupt. This program was
written to sample data on channel 0
once a second (the interrupt jumper
was set to one second) and print
data continuously to the screen.
Listing 3 is an extension of list¬
ing 2 that permits saving data in a
file on the B: drive called PDATA.
The manual is very detailed on how
file access can be made. The first
data entry (line 170) defines how
many data points are to
be recorded (the num¬
ber of data points
= 31 — 1 for this
example). Line 180
specifies a plotting
format that will be
described later.
To test DAS-
CON-Ts tempera¬
ture probe, 1 moni¬
tored the tempera¬
ture of a cup of cof¬
fee for 30 minutes.
Data were recorded at
1-minute intervals.
saved on a disk, and plotted using
the graphics software included with
DASCON-1. The temperature read¬
ings that were being reported using
DASCON-1 were found to track ac¬
curately when checked against a
mercury laboratory thermometer.
The program shown in listing 3 re¬
corded the actual data into the
PDATA file. Figure 1 shows a plot
of the data.
Several nice features about
DASCON-Ts graphics software
package deserve special mention: up
to 15 different data files can be plot¬
ted on the same graph; data entered
from the keyboard can be plotted;
by using a special program the X or
Y axis can be set to any size; data
can be plotted as they are received;
and data points can be plotted by
themselves or a line can be drawn
between successive points.
For another test of DASCON-Ts
capabilities, 1 used Titchener Hall,
one of the buildings at the commu¬
nity college where I teach, which
won the award for having the most
poorly designed air-conditioning sys¬
tem in the state of New York. Part
of the problem is that on sunny
Photo 3: A sohd-state I/O
hoard that uses up to 8 modules
of the OPTO‘22 type. The mod¬
ules are selected to meet the
user's specific I/O requirements.
34
PC Tech Journal
FORGET
EVERYTHING YOU
THOUGHT
YOU KNEW ABOUT
PROGRAMMING
IN BASIC
INTRODUCING
BetletBASIC
“It combines the best points of interpreted
BASIC, Pascal, Forth, & Assembler. "
...It’s thefirst piece ofsoftware Id spend my
own money on’.’
Susan Glinert-Cole
Technical Editor,
PC Tech Journal
Dramatically improve your
productivity with BetterBASICr
Introducing a new, breakthrough programming system called BetterBASIC : At last, the
structure and functionality of advanced languages such as Pascal and “C” have been
combined with the friendliness and ease of use of BASIC. BetterBASIC” will
dramatically increase the productivity of both new and experienced programmers.
BetterBASIC” is also a great Teaching Language.
Speed. Sieve of Erastosthenes Benchmark: Support of large memory (to 640K).
-BetterBASIC: 31.9 seconds. Built-in WINDOWS support!
—IBM PC BASIC: 191.1 seconds.
BetterBASIC' offers:
□ Extensibility (Make your own BASIC!!)
□ Program Block Structures.
□ User defined Procedures and Functions.
□ Local and Global Variables.
□ Shared Variables.
□ Recursion.
□ Argument type validation.
□ Optional arguments.
□ Arguments passed by-value or by¬
address.
□ Separately compiled program Modules.
□ Simple interface to Assembly Language
Procedures.
□ Support for OEM hardware through
extensibility.
□ Useful set of Data Types:
—Byte, Integer.
—Real (Variable precision BCD)
Ideal for business math.
—String (up to 32768 characters).
—Record Variables & Structures.
—N-dimensional Arrays of any type.
—Arrays of Arrays.
—Pointer (of any type).
General Information:
□ Interactive programming language based
on an incremental compiler.
□ Syntax checked immediately on entry,
with concise error reporting.
□ Comprehensive 580 page manual.
□ 8087 MATH support.
□ IBM PC, IBM PC/XT or compatible.
□ Built-in Screen Editor allows on-line
editing.
□ PC/DOS 1.1,2.0,2.1.
□ 192K to 640K memory.
□ Built-in Linker for separately compiled
program Modules.
□ Built-in Cross Reference Lister
□ Usable on plain MS-DOS machines with reduced
functionality.
(No Editor, Graphics or Windows)
We are so sure you will like
BetterBASIC, we will give you a
30-day money-back guarantee. Order
BetterBASIC now!
PRICE $199.00
8087 MODULE $99.00
Not convinced? Then try the
BetterBASIC Sample and you will
find that BetterBASIC is truly a
major breakthrough in computer
programming.
SAMPLE DISK: $10.00
You can find BetterBASIC by calling us at 617 235-0729
Master Charge, Visa, RQ, Checks, Money Orders, and C.O.D. accepted.
BetterBASIC is a trademark of Summit
Software Technology, Inc.
- , I Til IBM PC. IBM PC/XT and PC/DOS are
Summit Software Technology mo
MS-DOS is a trademark of Microsoft Corp.
RQ BOX 99, BABSON PARK, WELLESLEY MA 02157
CIRCLE NO. 177 ON READER SERVICE CARD
DASCON-1
O ne of the easiest
techniques foT re¬
ceiving from or
sending data to DASCON-1
is to use the software in¬
cluded with the hoard.
[ —
Table 1: DASCON-1 Specifications
Power Consumption
"F 5 volt supply
450mA typical/600mA maximum
volt supply
8mA typical/15mA maximum
12 volt supply
70mA typical/lOOmA maximum
—12 volt supply
60mA typical/100mA maximum
Analog Input
Resolution
12 bits plus sign
Accuracy
.01% of reading +/— bit
Full Scale
“f /-2.0475 volts
Polarity
automatic
Zero
automatic
Overvoltage
continuous single channel to 120 volts R.M.S.
Configuration
differential
Common Mode
+/— 2 volt minimum
Comiuon Mode Reject
60 db min., 70 db typical
Input current
InA max at 25 deg. C
Input filter
Switchable on each channel 30 db atten.
at 60 Hz.
Temperature coefficient
Gain or full scale ~'25ppm/deg. C max
Type
Integrating dual slope
Conversion Rate
30 conversions/sec. min (4 channels)
Digital I/O
• Outp^ (low volt)
0.45 volt max at Isink = 1.7mA (1 standard
TTLload)
Output (high volt)
2.4 volts minimum at Isource = 200 uA
: Darlington drivig
4mA max, 1mA min with Rext —750 ohm
Input low voltage
0.8 volt max,—0.5 volt min
Input high voltage
2.0 volt min, 5 volt max
Input current
4-/— 10 uA max
Voltage and Current Sources
Voltage sources (2)
+/— 6.8 volt at 5 mA inax
Clock
Format
24 hour with leap year
Hold up time
2 months at 25 deg. C
Battery charge
24 hours max.
Stability
2 sec/month typical
: Output pulses
1024 Hz, 1 second, 1 minpte, 1 hour
days the greenhouse effect is respon¬
sible for increasing the temperature
on one side of the building and not
the other.
One possible solution would be
to monitor the amount of sunlight
on one side of the building and use
a zoned heating/cooling system to
start the air conditioning on that
side only. This would involve read¬
ing in an analog voltage from a solar
cell, processing the information, and
making a digital decision about
whether or not to turn on the air
conditioning system. DASCON-1
could be used to input the analog
voltage to the PC and output the
digital decision to a relay.
Listing 4 shows the modifica¬
tion to listing 1 that is required to
produce this interface. The solar
cell was wired to analog input chan¬
nel 0 and read with the CALL in
line 160. If the converted analog
voltage is over 500 (in binary form)
then line 170 will set up DIO%(0)
for a digital output of 1 for ON or 0
for OFF. Digital outputs can be
achieved by CALLing mode 9.
This program continuously
38
PC Tech Journal
BEUfSOR HAS CHANGED THE
WAY PROGRAMMERS WORK:
PASCAL
COMPUTER AIDED PROGRAMMING
The Bellesoft Entry System for Programs (ES/P) has changed
the way programmers will work in the future by putting computer
aided programming (CAP) at their fingertips.
What word-processing programs did for writing text, Bellesoft
has now done for generating programs: putting the computer to
work to create a whole new way of writing software.
Bellesoft’s ES/P speeds up software development by up to
50%, produces better programs and reduces debugging time. ES/P
improves programming in five significant ways:
1. On-Line Syntax Checking. ES/P is more than a very smart editor:
it automatically checks your program for correct syntax as you enter
or change it.
2m On-Line Formatting. ES/P automatically provides a correct and
consistent format, critical for program maintainability.
3a Context-Sensitive Abbreviations. ES/P builds program structures
or skeletons with a single keystroke, provides correct keywords and
punctuation, and saves up to half your typing time.
4a Program Editing. ES/P manipulates program structures correctly
with a single keystroke, allows you to delete or move statements
easily.
Sa On-Line Programming Help. ES/P provides menus of correct
program components and correct syntax as an aid to faster
programming.
ES/P is now becoming available to computer manufacturers for
inclusion in their software packages; to distributors and dealers for
resale; to universities and schools as an aid to teaching program¬
ming; and to programmers who want to cut their work in half
while writing better programs.
CIRCLE NO. 114 ON READER SERVICE CARD
To order, contact; Lifeboat Associates
1651 Third Avenue New York, NY 10028
(800) 847-7078
EELLES(S)FT
THE FIRST NAME IN PROGRAMMING PRODUCTIVITY
(206) 828-7282
DASCON-1
monitors the analog voltage and re¬
sponds with the digital decision. It
would be necessary to build in logic
controls to prevent the system from
cycling on and off as clouds passed
over the solar cell.
In the Titchener Hall case, only
one channel of digital output was
monitored because I only needed to
turn a relay on or off. Actually,
DASCON-1 provides 8 bits of digital
output at the PB output.
High-quality Addition
In DASCON-1, Metrabyte has pro¬
duced a high-quality, professionally
designed addition to the IBM PC
that will make data input and out¬
put easy. The careful design is evi¬
dent from the manual and software
programs that come in the package.
Details such as a rechargeable on¬
board clock battery, easy-to-reach
calibration pots, and sufficient cali¬
bration software make DASCON-1 a
pleasure to use. Imi^i
DASCON-1
Metrabyte Corporation
254 Tosca Drive
Stoughton, MA 02072
617-344-1990
$485
CIRCLE 489 ON READER SERVICE CARD
Table 2: Software Modes for BASIC Calls
Mode
0
1
3
4
5
6
7
8
9
10
Function
A/D free scan, data collected asynchronously
Conversion requested on single A/D channel, data transferred
when finished
Conversions requested on all channels, data transferred when
finished
Same as mode 2 but conversions are performed by interrupt
Disables interrupt modes 3 and 5
Same as mode 0 but data is collected on interrupt
Collects data from interrupt modes 3 and 5
Outputs data to a single D/A channel
Outputs data to both D/A channels
Outputs/inputs data to/from digital I/O ports
Enables/disables clock pulse output
Figare L- Plot of Data in test of DASCON-1 Temperatme Probe
Listing 1 LISTING1.BAS: Routine
To Access Data from Channels 0
and 1 on the A/D Converter
10 REM A/D 4 CHANNEL FREE SCAN (MODE 0)
20 REM PRINTING OUT CONTINUOUS DATA ON A/D CHANNEL 0 & 1
30 CLEAR,62463!
40 DEF SEG=0
50 SG=256*PEEK(&H511)+PEEK(&H510)
60 SG=62463!/16+SG
70 DEF SEG = SG
80 BLOAD -OASCONl.BIN-.O
90 MD%= 0
100 CHX=0
no DIM DI0%{32)
120 DIOX(0)=0:DIO%{1)=0
130 BASADR’t=768
140 DEF SEG = SG
150 OASCONl = 0
160 CALL OASCONl (MO'S.CH%,DI0%{0) ,DI0%( 1),BASA0R%)
170 ATOOO = .0005*DI0%(0)
180 ATOOl = .0005*0I0%(1)
210 PRINT ATOOO,ATOOl
220 GOTO 160
Listing 2 LISTING2.BAS; Modifi¬
cation of Original Program
10 REM A/D CHANNEL 0 MONITOR WITH INTERRUPT
20 CLEAR,62463!
30 DEF SEG=0
40 SG=256*PEEK(&H511)+PEEK(&H510)
50 SG=62463!/16+SG
60 DEF SEG = SG
70 BLOAD "OASCONl.BIN",0
80 OPEN "I",I1,"DASCON1.ADR":INPUT#1,BASADRX:CLOSE#1
90 DIM DI01i(8)
100 MDS=3
no CH%=2
40
PC Tech Journal
120 DI0%(0)=0:DI0S(l)=0
230 CALL DASCONl {MDX,CHX,0I0X(0),DI0X(1),BASADRX)
130 BASA0R%=768
240 MDX=6
140 DEF SEG = SG
250 CHX=0
150 OASCONl = 0
260 CALL DASCONl (MDX,CHX,DI0X(0),DI0X(1),BASADRX)
160 CALL OASCONl {MD%.CH%,0I0%(0).DIOSi1),BASADR%)
270 IF 0I0X(8)=0 GOTO 260
170 MD%=6
280 TEMPX=.2* *(DI0X{2))
180 CH%=0
290 LSET 04=MKS$(I)
190 CALL OASCONl {MD%,CH%,0I0%(0).010%(l),BASA0R%)
300 LSET N4»MKS$(TEMPX)
200 IF DI0%(8)=0 GOTO 170
310 PUT #1
210 PRINT I,OI0S(0)
320 PRINT I,TEMPX
220 GOTO 100
330 NEXT I
230 END
340 CLOSEIl
350 END
Listing 3 LISTING3.BAS: Extension
of Listing 2
Listing 4 LISTING4.BAS: Modifi¬
cation of Listing 1
10 REM A/D RECORDING CHANNEL 0 ON INTERRUPT TO DISKETTE
10 REM A/D 4 CHANNEL FREE SCAN (MODE 0)
20 REM SET TO RECORD 30 DATA POINTS, THEN QUIT
20 REM PRINTING OUT CONTINUOUS DATA ON A/D CHANNEL 0 4 1
30 REM SET TO SAVE DATA ON INTERRUPT ONLY!!!!!!!!
30 CLEAR,62463!
40 CLEAR,62463!
40 DEF SEG=0
50 DEF SEG=0
50 SG=256*PEEK(4H511)+PEEK(4H510)
60 SG=256*PEEK(4H511)+PEEK(&H510)
60 SG=62463!/16+SG
70 SG*62463!/16+SG
70 DEF SEG = SG
80 DEF SEG = SG
80 BLOAD "DASCONl.BIN",0
90 BLOAD "OASCONl.BIN",0
90 DIM DI0X(8)
100 DIM DI0t(8)
100 MDX= 0
no DI0X(0)=0:DI0X(1)=0
no CHX=0
120 BASA0RX=768
120 DI0X(0)=0:DI0X(1)»0
130 DEF SEG * SG
130 BASADRX’768
140 OASCONl * 0
140 DEF SEG = SG
150 OPEN "BrPDATA" AS #1 LEN=30
150 DASCONl = 0
160 FIELD #1,15 AS DX,15 AS H%
160 CALL DASCONl (MDX,CHX,DI0X(0),DI0X{1).BASADRX)
170 LSET D5=MKS$(31)
170 IF DI0X(0)>»500 THEN DI0X(0)*1 ELSE DI0X(0)=0
180 LSET N4=MKS$(1)
180 MDX=9
190 PUT #1
190 CHX*0
200 FOR I»1 TO 31
200 CALL OASCONl {MDX,CHX,DI0X(0),DI0X(1),BASADRX)
210 MDX-3
210 GOTO 100
220 CHX=2
Know Thy PC!
Are you writing programs in BASIC or Pascal? The popular Peeks
’n Pokes has a disk with 58 programs and a 38-page manual that
helps you get ‘underneath the covers’ of the PC. Learn how to use
PEEK, POKE, INP, OUT, and DOS/BIOS function calls to do
what you want, fast! Do you want to perform functions not
available from BASIC or Pascal? It’s all explained in the manual
and demonstrated in the sample programs. Source code included!
Peeks ’h Pokes shows you how to:
• Access the system’s configuration
• Unprotect BASIC programs
• Scroll part or all of the screen
• Access the file directory
• Logically swap printers
• Read and change the keyboard
• Find more Peeks and Pokes
• And much more... for only $30.00
Want to know more? The Inside Tmckl is a collection of advanced
utilities for the PC programmer. It contains a disk with 61 pro¬
grams, a 42-page manual, and a fold-out memory map that helps
you get better performance from the PC. With this package you can
give your programs assembler-assisted speed from high-level lan¬
guages, get control over memory, customize and control the PC,
and more. Some programs require DOS 2.00. Source code included!
The Inside Track! shows you how to:
• Read/write files as fast as DOS
• Display data on the screen faster
• Reserve memory for your use
• Copy memory to another location
• Copy-protect your programs
• Load large programs faster
• Control the keyboard settings
• And much more... for only $45.00
MasterCard and VISA accepted. Shipping charges: $2.50 per order for UPS; $2.50 per item for First Class Mail to USA and
Canada; $6.00 per item for Air Mail outside USA and Canada. Dealer inquiries invited.
Data Base Decisions • 14 Bonnie Lane • Atlanta, GA 30328 • 404/256-3860
CIRCLE NO. 137 ON READER SERVICE CARD
September 1984
41
Hayes. Leading the way
with quality telecomputing
systems for the personal
computers that businesses
use most
When it comes to communicating-
computer to computer—Hayes says it
best. All you need is a Hayes Smart-
modem (it’s like a telephone for your
computer) and Smartcom II™ software,
to get you into aU the right places.
In no time at all, and with no assis¬
tance at all, you can aeate, send and
store files, and automatically log on to
information services. The communica¬
tion possibilities are endless!
Introducing our new Smartcom U.
More connection capabilities.
More convenience.
Smartcom II continues to maximize the
outstanding capabilities of Smartmodem.
And it still helps your computer and
Smartmodem work together, smoothly
and efibrdessly. But now Hayes goes
even further to streamline your commu¬
nications and optimize your connections.
Smartcom II software is currently
available for more than 12 personi
computers (\vith even more to come).
That means you can communicate,
Smartcom to Smartcom, with an IBM PC,
DEC Rainbow 100, HP 150, TI Profes¬
sional Computer* and others.
And that’s not all! Smartcom II also
emulates the DEC* VTIOO and VT52
terminals, now in widespread use in
many businesses. This feature lets your
personal computer “pretend” it’s a DEC
terminal, opening the door to a vast
installed base of DEC minicomputers!
We stand on protocol.
In addition to the popular Hayes
Verification protocol, the new Smart¬
com II also includes the XMODEM
protocol, ensuring accurate transmis¬
sion to a wide range of personal com¬
puters and mainfirames at information
"When I got this computer
I thought my problems were
over Then it dawned
on me I needed to talk
to the PC in sales and
the Tlin accounting I
What 1 needed was the
right modem and
software, so I went g
with the leader!”
services. By matching the protocol (or
“language") of a remote computer to
yours, Smartcom II can transmit informa-
tion error-free, regardless of interference
on the phone lines.
Your Haves telecomputing ^stem
works—totally unattended.
Smartcom II makes telecomputing
simnle, even ^vhen you're not there.
It allows your Smartmodem to receive
a message for you when you’re out,
and leave it on your disk or printer.
And you can tell Smartcom II to “save"
the messages you've aeated during
the day, and automatically send them
at night, when phone rates are lowest.
Get your bands on the leader.
With an unsurpassed record of relia¬
bility, it's a small wonder Smartmodem
is such a smart buy! Smartmodem 300™
(the first of the Smartmodem series)
dials, answers and disconnects calls
automatically. Smartmodem 1200™ and
Smartmodem 1200B™ (it plugs into an
expansion slot inside an IBM PC or
compatible), provide high-speed, high-
performance communications for busi¬
nesses of all sizes.
And, when Smartmodem is purchased
with Smartcom II, you have the most
:onmi:
Everything we do at Hayes is designed
to make communications easier for you.
Feature-rich, direct connect modems.
Menu-driven software. Concise docu¬
mentation. And a customer service
organization, second to none!
See your dealer right now for a hands-
on demonstration of Smartmodem and
our latest version of Smartcom II. From
the telecomputing leader. Hayes.
Hayes Microcomputer Products, Inc.
5923 Peachtree Industrial Blvd.,
Noraoss, Georgia 30092.404/441-1617.
CIRCLE NO. 158 ON READER SERVICE CARD
Smartcom II, Smartmodem 300, Smartmodem 1200 and Smartmodem 1200B are trademarks of Hayes Miaocomputer Products, Inc ‘Ifademarks of International Business Machines Corp., Digital
Equipment Corporation, Hewlett-Packard and Ibxas Instruments. ©1984 Hayes Miaocomputer Products. Inc.
PC BRAND HAS UNKMABLE
C has rapidly become the language of
choice for serious software devel¬
opers. The language of maximum
portability across the spectrum of
today’s personal computers. The
language which will most rapidly adapt
to tomorrow’s machines. The companion
language to Unix™, the operating
system destined for predominance.
Major companies such as Microsoft and
MicroPro know this. They have switched
to C for their applications development.
How ready are you for the future?
PC Brand has the complete line of
today’s finest professional C tools. Not
just the finest compiler, but libraries for
graphics and screen design, overlay
linkers, and program editors acclaimed
as the best of their kind. It is a complete
workshop of craftsman’s tools which will
turn you into a C professional in a hurry;
capital equipment which will pay back
your investment many times over.
Take the time to read this advertise¬
ment. You are sure to see the competi¬
tive edge these products will deliver.
LfiinCEC
The Pieesainent 16-bit C Compil&c
Y OU can find a more economic way to
learn C, but if your interest is
program development. Lattice C™ is the
unparalleled choice. Byte said "the
Lattice C compiler produces remark¬
able code .. .outstanding in terms of
both execution speed and code com¬
pactness’’. After reviewing nine
compilers for the PC, the PC Tech Journal
unequivocally declared Lattice C "best
for software development... it compiles
fast and produces fast programs”.
Lattice C is a full implementation of
Kernighan and Ritchie, not a subset, and
even offers extra features such as nested
comments, 39-character variable names
and extra compile time checks for some
of C’s subtler errors. The compiler
comes with a full library of I/O routines
which implement under MS™-DOS most
of the Unix-compatible standards
described by Kernighan and Ritchie.
HALO
A Spectacular Graphics Extension to Lattice C
PMATE
The Programmer’s
Word Processor
P mate was designed for program¬
mers. We’ll wager that you cannot
find a programmer who has discovered
Pmate and moved on to something else.
Pmate is a full screen editor with ten
auxiliary buffers for squirreling away
pieces of text until needed. It uses single
key commands to move the cursor, or
text, or insert or delete, or rescue sev¬
eral thousand characters of deleted text.
It has a format mode for tab setting or
wraparound and shaping when it’s time
to write documentation. Pmate lets you
assign chains of commands or strings of
text to single keys: one keystroke could set
up the entire shell of a new C function,
for example.
Pmate has variables, if-then state¬
ments, loops. It calculates, and converts
decimal to hex to binary and back. You
can write compact programs (called
"macros") to delete comments, for exam¬
ple, or check syntax, or process long
sequences of commands. Macros can al¬
phabetize lists, do row and column math,
perform a series of operations on multi¬
ple files, even summon other macros.
Put another way, Pmate is a text editor
with its own built-in interpretive lan¬
guage. A language you can use to com¬
pletely customize this text editor to your
fancy. Possibly the most artful, ingenious
program you have ever seen.
Product Code: S0600 Our Price:
Suggested Retail: $225.00 * 175.00
H alo™ will astound you. It provides a
complete library of graphic func¬
tions which can be linked with your Lat¬
tice programs to create full-color charts,
graphs, simulations, even animation.
Over 100 commands-are at your
disposal, including plot, line, arc, box,
circle, plus single commands to produce
bar graphs and pie charts. Pattern-fill
and dithering commands give your
graphics impressive texture and color
mixes, rubber-banding draws shapes for
interactive users, area moves produce
animation, fill and flood commands paint
areas. The newest version allows you to
define your own world coordinate
scheme, divide the screen into
"viewports" (windows), and scale
graphic figures automatically.
It’s a long list of capabilities which
make for an extraordinarily powerful
product. In fact. Halo is so good that
manufacturers of graphics boards and
systems are adopting it as a standard
graphics language. So it can bridge your
application to other systems. CAD-CAM
developers, especially, have embraced
its device-independent approach for
maximal portability.
Halo is a dazzling demonstration of
why C has become the language of
choice among programming profes¬
sionals: its function library architecture
means you can tremendously enhance
your firepower by acquiring libraries of
software like Halo with dramatic
economy of time and money.
Requires IBM monochrome or color
graphics card or equivalents.
Product Code: S0300 Our Price:
Suggested Price: $200.00 * 125.00
Lattice C runs on virtually any com¬
puter using an 8086 or 8088 microproces¬
sor, and we carry two versions for either
PC-DOS™ or CP/M-86™. Create your
source files with any word processor or
text editor like Edlin or our Pmate™ and
Lattice C will compile them into Intel
8086 object module format ready for
linking with other modules by linkers
such as DOS’ Link or our Plink86™.
Lattice C offers a choice of four mem¬
ory models which allow the program
designer to choose the right combination
of efficiency and size for an application:
a range between 64K and a full mega¬
byte for program and data area size.
The documentation, which Byte says
"sets such a high standard of excellence
that others don’t even come close",
features sample source programs and
covers the interface to assembly
language and machine dependencies.
C’s structured approach encourages
development of tight, fail-safe functions
which can be counted on to return
reliable results every time. Local
variables unknown outside of functions
to safeguard against collision. Extremely
powerful nested expressions which
produce elegant, concise code.
Requires 128K RAM.
For PC-DOS: Product Code: SOlOO
For CP/M-86: Product Code: S0120 Our Price:
Suggested Price: $500.00 * 295.00
PUNK86
Ovmrlay Linkage to Expand
S oftware is becoming ever more
sophisticated, which means more
complex programs requiring large
chunks of memory. But if you use extra
memory, if you count on users to have
expanded RAM, you will forego sales to
those who do not.
Plink86 is the answer. It takes on the
job of shoe-horning large programs into
small memory. First, Plink86 acts as an
alternative to DOS’ Link. For a language
like C which encourages design of sep¬
arately compiled object modules in the
Microsoft relocatable format, Plink86
pulls modules together into single com¬
piled programs. But Plink86’s overlay
power is what has gained it a reputation
as a miracle worker. It binds into the
compiled program its overlay manager
which knows how to swap modules of
your large linked program between disk
and memory, so that each can temporar¬
ily occupy the same memory space.
Unlike other linkers, the overlay
manager acts on its own, needing no
calls from the source program. Instead,
Plink86’s straightforward overlay
description language allows you to
describe your overlay structure in one
place in your program — a structure
VAUJ&FOR r PROF^SIONALS
Equip Your Workbench with Our
_ Precision Quaiity Otrftsman' Tools
C-FOOD SMORGASBORD
A Menu ofDiiBcult to Prepare C Functions
C is a language of function libraries:
sturdy routines which your
application can effortlessly reference to
get the job done. But someone has to
write them. It would take months to
concoct and perfect the complex and
useful servings which have been
prepared for you and thoroughly tested
in C Food Smorgasbord™.
Decimal Arithmetic: Functions to
perform operations on binary-coded
decimal (BCD) numbers of up to sixteen
significant digits. Includes trigonometric
and logarithmic functions, powers,
conversions to strings, and much more.
Level 0 I/O Functions: Enable you to
perform direct I/O operations for
screen, keyboard, printer, and
asynchronous port with no dependence
on higher I/O functions to minimize
memory usage and maximize speed.
IBj^m pq bjoS Interface Access:
Allows you to get at the basic I/O
services in the ROM BIOS not available
through the normal operating system to
get and set the video mode, cursor
position, color and screen attributes.
Your Art of the Po^ible
permitting up to 4,095 overlays stacked
32 deep. And you don't have to re¬
compile to re-arrange the structure.
Plink86 is a two pass linkage editor. On
the first reading it determines all mod¬
ules which need loading, to insure
greater flexibility in assigning memory
segment addresses before the disk file
is created on the second pass. It can
even sub-divide its linked output into
multiple files for programs which must
span more than one disk.
But most of all it sets you free to write
the comprehensive code today’s users
have come to expect without sacrifices to
memory constraints.
Product Code: S0500 Our Price:
Suggested Price: $395.00 $315.00
keyboard shift, scrolling, printer channel
and port status.
TIP, the terminal independence
package: Lets you easily move programs
to computers with different types of
terminals.
There is a basket of delicacies beyond
this brief list; a cornucopia to sample,
any one of which will save valuable time
and pay back far more than C-Food
Smorgasbord’s overall price.
Product Code: S0200 Our Price:
Suggested Price: $150.00 $U5.00
D esigning custom screens is intricate,
time-consuming, and costly. It can
make you the loser in competitive
bidding. It can add weeks, even months
to bringing your product to market.
But not when you use Panel™. Put
Panel to work and you hire a superpro¬
grammer for the minimum wage. Telling
Panel your screen design is like using a
word processor. You can add, move,
copy, delete, and reshape fields with
single key commands. The result?
Finished C program code with field
descriptors, color and highlighting, input
editing by type of field, help keys, and
warning messages.
Panel can also create a terminal
selection program customized for your
application, and gives you a utility to
quickly test your finished screens. It
even includes a multi-key data file
maintenance program which interacts
with the screen you design. All the tools
you need to generate code for the
trickier aspects of your application, or
even to create stand alone data entry
and retrieval products without any
programming.
Panel routines are powerful. Unlike so
many programs which make error
correction difficult once a field is
departed. Panel gives the user full field-
All products operate on the IBM PC or
PC/XT under PC-DOS and require no
more than 64K of RAM unless indicated.
Prices, terms and specifications
subject to change without notice.
Prices do not include shipping and
handling.
You may freely use these products to
create software applications for re-sale
without additional licenses or royalty pay¬
ments, provided your applications are not
wholly or substantially replications of the
products themselves.
Unix: TM Bell Laboratories / Lattice C and C-Food
Smorgasbord: TM Lattice Inc. / MS: TM Microsoft Inc.
/ Halo: TM Media Cybernetics / IBM: TM
International Business Machines / Float87: TM
Microfloat / Panel: TM Roundhill Computer Systems
Ltd. / Plink86 and Pmate: TM Phoenix Software /
CP/M-86: TM Digital Research
to-field movement for editing, and
overtype or insert/delete within fields.
A truly superior productivity tool
every developer should have.
Product Code: S0400 Our Price:
Suggested Price: $295.00 $9^1% fll
FLQAT-B?
Software Support for
the 8087Math Chip
F loat-87^^ is a library of floating-point
math routines which are merged into
a Lattice C interface library. The rou¬
tines handle all arithmetic functions and
the most frequently used transcendental
or trigonometric functions, and pass all
numbers to the 8087 to take advantage of
its 80-bit data format.
Putting Float-87 to work with an 8087
can increase the speed of floating-point
calculations by 40 times or more — and
with greatly expanded accuracy. If you
or your customers have an Intel 8087
math processor chip on board, this
software will switch on its afterburners.
Product Code: S0700 Our Price:
Suggested Retail: $125.00 $ 100.00
PANEL
Are You Still Coding Hand-Made Data Entry Screens?
CIRCLE NO. 170 ON READER SERVICE CARD
You won’t find an offer like this
elsewhere: Exceptional prices
and software fully supported by a
knowledgeable staff specializing
in ’C’ and companion tools.
1-800^ BRAND
That's l-(800) 722-7263. In NY State call (212) 410-4001.
Charge your purchase to MasterCard or Visa.
Or mail your order and check to
PC Brand, P.O. Box 474, New York, N.Y. 10028
©1984 PC Brand
PC Brand and Craftsman
are trademarks of PC Brand.
Augie Hansen
HGH-THll
MIMKW
Ten communications packages that allow the
IBM PC to emulate popular terminals
M y family and I recently re¬
turned home from a week-
long visit in Florida at the 'Temple
of Tall Tales and Technology." My
daughter, who is slightly more than
a year old, has a whole new percep¬
tion of reality. To her, Tm sure, a
typical afternoon now includes leap¬
ing through hyperspace to Mars,
trying to separate a world-famous
rodent from his nose, and dancing
with an overgrown duck (Donald's
50 years old this year). In cohtrast.
her ordinary life at home will seem
like sensory deprivation.
I was intrigued by the myriad
impersonators and impostors we saw
and heard: Audio-Animatrons, pup¬
pets, fiberglass models, and people
decked out in animal suits, all pre¬
tending to be something they're not.
This article examines some imper¬
sonators in the microcomputer
Augie Hansen is a programmer for a major
telecommunications company. He wrote
Chrome Ranger, a game for the IBM PC.
Mimicry
world: communications packages
that include terminal emulation
among their capabilities.
Recently Tve been calling such
packages by a new name, which
was an unwitting creation of Carole
Autenzio, PC Tech Journal's edito¬
rial assistant. She got tired of saying
"'terminal emulators" during our
frequent conversations and subcon¬
sciously shortened the phrase to
"termulators"; I've been using that
marvelous contraction ever since.
Each of these "termulators" can
make the IBM PC masquerade as a
Relay. In addition, I've included
information about a free program
called SIMTERM that also does ter¬
minal emulation and is supplied
with complete Pascal and assembly
language source code.
I selected these terminal emula¬
tors for review because they mimic
one or more of the widely used
video terminals on the market.
Most of the communications pro¬
grams now on the market claim to
emulate a "dumb" terminal, defined
a$ a terminal that sends everything
typed on the keyboard to the re-
Table 1: Summary of Terminal Emulations
EMULATED TERMINAL TYPE
PROGRAM NAME
LSI ADM3a
ADDS Regent
Hazeltine Esprit
IBM 3101
OD
a>
•H
H
Q>
OB
1
e
Os
O
Os
M
S
DEC VT100/VT52
TI 940
Custom
Communique
Y
Y
Crosstalk XVI
Y
Y
Y
Y
Y
direct.connect
Y
IBM 3101 Emulation
Y
The Impersonator
Y
Y
Y
Y
Y
Y
OmnitermZ
Y
Y
PC/InterComm
Y
SIMTERM
Y
SmarTerm 100
Y
Relay
Y
terminal of at least one well-known
model. Some can do as many as six
impersonations, which qualifies
them for the terminal emulator
equivalent of the Rich Little act-
alike award. One package even calls
itself the Impersonator.
The other programs reviewed
are Omniterm2, PC/InterComm,
direct.connect. Crosstalk XVI,
SmarTerm 100, Communique, the
IBM 3101 Emulation Program, and
mote computer and dumps every¬
thing received to the console. This
article examines emulations that are
considerably more sophisticated,
giving the user control over screen
displays and possessing the ability to
interpret keyboard commands and
special functions.
Table 1 shows at a glance
which terminals each of the tested
programs claims to emulate. I exam¬
ine each program's emulation capa¬
bilities and compare them to the
real McCoys. Most of them do a de¬
cent job; some are superb.
Types of Terminals
Like people, terminals are not all
created equal in appearance, intelli¬
gence, or station in life. The diver¬
sity is astounding. Broadly speaking,
there are dumb terminals and intelli¬
gent terminals. Some manufacturers
use the term smart to mean a me¬
dium level of intelligence, brighter
than dumb but not as bright as in¬
telligent. Others use smart and intel¬
ligent synonomously.
Dumb Terminals. It was not
too many years ago that dumb
terminals were not considered so
dumb—they were the only game in
town. In comparison to many termi¬
nals today, however, a typical dumb
terminal can do very few things. In
addition to displaying the next re¬
ceived character at the current cur¬
sor or head position, most dumb ter¬
minals can interpret a few ASCII
control characters called format ef¬
fectors to do backspace, form feed,
line feed, tab, and other formatting
48
PC Tech Journal
operations typical of simple charac¬
ter-by-character hard-copy printers.
Many of today's video terminals
are essentially dumb terminals with
cathode-ray tubes (CRTs) instead of
print heads and paper. These are
often called glass TTYs in honor of
their close operational resemblance
to older printing Teletype ma¬
chines. (The term TTY is taking on
new meaning these days—Teletype
is making some intelligent video
terminals that don't look and act at
all like their clanky ancestors.)
Smart and Intelligent
Terminals. Generally speaking,
an intelligent terminal is one that
has local memory, some processing
power, and peripheral interfaces to
permit it to do tasks normally done
by a host computer.
Many terminals use control (es¬
cape) sequences to set and report the
cursor position, set video attributes,
insert and delete characters or lines,
clear the screen, and protect data-
entry fields. By themselves, in my
view, these editing capabilities do
not qualify the terminal to be con¬
sidered smart or intelligent.
Of course, that's a debatable
stand. There is really no consensus
on what separates the morons from
the merit scholars among terminals.
I conducted an informal poll of
about 30 programmers, hardware
designers, and marketers. Most
agreed that an ADM3a is a dumb
terminal. Beyond that, there was lit¬
tle agreement on anything.
Try this as a starting point for
further discussion. A smart or intel¬
ligent terminal earns its higher IQ
rating based upon how well it does
the following tasks (in addition to
editing): manipulating data,* range¬
checking and validation; blocking,
compressing, and storing data,- calcu¬
lating; searching; communicating,
including transferring files; print¬
ing; and more. An intelligent termi¬
nal is, in essence, a special-purpose
computer system.
The bibliography cites some
documents that try to define what
an intelligent terminal is, with
varying degrees of success. My as-
sertion above is most in line with
the description given in Intelligent
Terminals: Functions, Specifications,
and Applications (Bernstein and
Kashar, 1978).
Terminal Emulation
The ability to emulate terminals is
important when the user is commu¬
nicating with hosts that run full¬
screen editors, spread-sheets, and
other programs that require tight
control over what goes where on
the screen. Some dumb terminals
are marginally useful for such tasks
but put a tremendous burden on the
host computer. Others—those that
lack cursor addressing—are vir¬
tually useless for such purposes.
Giving the terminal some
"brains" solves some of the prob¬
lems. It is of little value, however,
to add intelligence to a terminal if
the host computer doesn't know
how to interact with it. Many mini¬
computer and mainframe operating
systems keep a database of terminal
capabilities, so that if the user is
running a full-screen editor applica¬
tion, and the host knows he is using
a VTIOO terminal, the host can in¬
terpret special keyboard functions
and can manage the screen effec¬
tively. In other situations, the editor
may be in the terminal's memory,
thus completely off-loading from
the host any interactions during the
editing session.
The following material is a
summary of my tests and evalua¬
tions of terminal emulation pro¬
grams for the IBM PC that try to
fool a host computer into thinking
the communicating machine is one
of the popular terminals listed.
VTlOO-series Emulations
Digital Equipment Corporation has
sold large numbers of VTIOO termi¬
nals throughout the world. This ter¬
minal has two things going for it: it
incorporates a VT52 mode so that
the large base of existing software
for that popular terminal can be run
without change; and it was the first
to conform, in a manner of speak¬
ing, to the ANSI standards for ter¬
minal devices. For a long time, it
was one of only a few terminal
types to do so. (See the sidebar on
ANSI standards for terminals.)
The VTIOO implements only a
subset of the ANSI standard func-
SEPTEMBER 1984
49
Table 2: Comparison of VTIOO Emulators and VTIOO Terminal
Mimicry
tions, and it adds many '"DEC Pri¬
vate" functions that are not part of
the standards. It is, however, one of
the most popular terminals ever pro¬
duced, so emulating it is sensible.
Table 2 is a summary of VTIOO
emulators and the features each sup¬
ports. Virtually all of the programs
tested that have a VTIOO emulation
incorporate a VT52 mode. The
SmarTerm 100 and PC/InterComm
programs also emulate the VTIOO
set-up operations. None of the pro¬
grams tested claims to do the
double-high and double-wide line
displays, but PC/InterComm simu¬
lates them by spacing displayed
lines horizontally and vertically.
Omniterm2, PC/InterComm, Com¬
munique, and SmarTerm 100 add
the editing features of the VT102 or
VT132 terminal—insert/delete
character and line, and replace
(overstrike) mode—that are missing
from the basic VTIOO.
All of the packages tested fail to
perform some VTIOO functions as a
result of the hardware limitations of
the IBM PC. For example, none of
them permits separate transmit and
receive speeds because the IBM
asynchronous communications card
won't support that. None supports
the graphics mode of the VT52.
Such features as the RS-232 port
status report are not applicable.
Each of these products uses
color on displays that support it.
PC/InterComm allows the user to
switch between display adapters
during execution. All the others use
the monitor that was the default at
the time the program was loaded.
SmarTerm 100 will handle the 132-
column screen with a Supervision
display adapter board made by Cali¬
fornia Computer Systems.
Crosstalk XVI and PC/Inter¬
Comm implement the reverse video
screen mode of operation perfectly.
SmarTerm handles the mode accept¬
ably from the set-up form but not
when under control of the host
computer. It is necessary for a dear-
screen command to be sent to make
EMULATOR PROGRAM
VT 100
TERMINAL
FEATURES
Crosstalk XVI
Impersonator
Communique
OmnitermI
PC/InterComm
SmarTerm 100
Relay
Terminal Setup Screen Forms
No
No
No
No
Yes
Yes
No
Cursor Type UL/Block Select
UL
UL
UL
UL
Yes
Yes
No
Response to "What Are You?"^
NOP
NOP
NOP
NOP
AVO
AVO
AVO
-f
GPO
PF1-PF4 Keys Simulated
Yes
Yes
Yes
Yes
Yes
Yes
Yes
80/132 Columns
No
No
No
No
No
[2]
No
VT52 Emulation
Yes
Yes
Yes
Yes
Yes
Yes
Yes
ANSI/VT52 Selection
Yes
Yes
No
Yes
Yes
Yes
Yes
Scrolling Region
Yes
No
No
Yes
Yes
Yes
Yes
Smooth Scroll
No
No
No
No
Yes
Yes
No
Cursor Keys on:
Numeric Keypad
Yes
Yes
Yes
[3]
Yes
Function Keys
Yes
Yes
No
<Alt> + <top row>
Yes
Yes
Reverse-screen Mode
Yes
No
No
No
Yes
Yes
No
Margin Bell ON/OFF Select
No
No
No
No
Yes
Yes
No
Wraparound ON/OFF
Yes
No
Yes
Yes
Yes
Yes
No
Settable Tabs
Yes
Yes
Yes
Yes
Yes
Yes
Yes
VT102/132 Extensions
No
No
Yes
Yes
Yes
Yes
No
Select Graphic Rendition (SGR)
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Screen Alignment Test
No
No
No
No
Yes
Yes
No
LED Display
No
Yes
No
No
Yes
Yes
No
BREAK Signal Key Provided
Yes
Yes
Yes
Yes
Yes
Yes
No
[Setup form]
["slow scroll"]
[Setup form]
(Some combinations
are not possible.)
1 NOP-No Options; AVO-Adv. Video Option; GPO-Graphics Processor
Option.
2 Requires Supervision display adapter card.
3 <Shift> -h <arrow> required to move cursor.
50
PC Tech Journal
the mode take effect, and doing that
makes the user lose the context of
the work in progress.
The other programs do not
emulate the reverse-video screen,
although they can be tricked into it
if the user sends the SGR 7 mode
command (Select Graphic Rendi¬
tion-reverse video) and a dear-
screen command. I think the re-
verse-video screen looks garish, but
a lot of people seem to like it.
All of the programs send the
DEC sequences assigned to the PFl-
PF4 function keys, using the IBM
PC function keys F1-F4 to do so.
The remaining function keys (F5-
FIO) and their Shift-, Alt-, and Ctrl-
key alter egos are used for cursor
positioning and switching contexts
within the communications pro¬
gram. They usually may be assigned
to any purposes the user desires, as
long as that purpose is within the
capabilities of the hardware. Only
Relay is an exception in this regard.
It uses the Alt-Fl through Alt-F4
sequences to simulate the VTlOO's
PF1-PF4 keys (because F1-F4 are per¬
manently assigned to other tasks).
IBM 3101 Emulations
In a dramatic departure from the
IBM world of computer communi¬
cations, in which EBCDIC reigns
supreme, IBM introduced the 3101
ASCII terminal. (The PC is also an
ASCII-oriented device.) The 3101 is
a lovely terminal in many ways. It
has a fine ''Selectric-style" key¬
board, a screen that is easy on the
eyes, and some nice terminal fea¬
tures—all in all an attractive pack¬
age. Most of the terminal options
are chosen through set-up switches
that are accessible to the user.
IBM sells a 3101 emulation
package for the PC and XT that
comes as close to the real thing as
one could expect given the hard¬
ware differences between the ma¬
chines. It is obviously the reference
program for this comparison.
None of the 3101 emulators
allows the use of transparent and
local modes. The IBM program
modifies some functions, such as Set
Control, to exclude control-code bits
that are not necessary. The Set Con¬
trol function is not necessary by the
other programs because they do not
implement block mode. None of the
programs supports any foreign-
language features.
Table 3 is a summary of the
IBM 3101 emulators tested. Except
for the IBM program, which imple¬
ments some of the block mode fea¬
tures, the programs are nearly the
same from an operational perspec¬
tive. The Impersonator is much the
easiest of these programs to use.
TeleVideo 910/920 series
Emulations
TeleVideo has been producing
smart terminals for a number of
years and has recently moved into
Z n its efforts to keep the
cost low, TeleVideo
made one design deci¬
sion 1 wish it hadn't: the
company used a video
memory that is only 1,920
hytes small and a brain¬
damaged video controller.
the microcomputer field as well.
The company's terminals have al¬
ways been packed with many fea¬
tures for the money. As a user of
terminals, I appreciate the pains tak¬
en by TeleVideo to provide a high
degree of "functionality," especially
in the area of video attributes and
control capabilities.
In its efforts to keep the cost
low, TeleVideo made one design de¬
cision I wish it hadn't: the company
used a video memory that is only
1,920 bytes small and a brain-dam-
aged video controller. That memory
size contrasts poorly with the 4K
bytes in the PC's display memory
for one screenful of characters and
attributes. Each even byte in the
PC's display memory holds a charac¬
ter code (one of 265) and each odd
byte holds the video attribute of its
corresponding character.
To control the video attributes
on its screens, TeleVideo uses what
have been dubbed "magic cookies"
in display memory. No, these are
not brownies laced with a con¬
trolled substance; they are bytes of
display memory that hold special
codes to set video attributes. These
attributes have effect from the time
they are first set until they are
cleared. The bytes used for this are
effectively stolen from the bytes
otherwise used to store displayable
characters. To work with display
memories that use "magic cookies,"
programmers must go through all
kinds of gyrations to write code that
can manage screen displays cor¬
rectly. Programs that emulate Tele¬
Video terminals need to account for
this difference in display memory
implementation.
An example of the differences
that must be considered in writing
an emulation program is the way
the functions that clear to the end
of a line are implemented. The
TeleVideo terminal allows two
methods: the erased characters can
be converted either to spaces or to
nulls. The emulations treat both
methods identically and just pad the
memory buffer with spaces in the
prevailing attribute.
The Impersonator and Crosstalk
XVI provide TVI910/920-series
emulations. Again, Crosstalk pro¬
vides a prepackaged set-up that can¬
not be modified. It combines the
features of the 910 and 920 termi¬
nals. The Impersonator implements
most of the features of the 912 ter¬
minal. For all the purposes I found
for using this terminal emulation,
the two programs are nearly identi¬
cal. On systems that have databases
of terminal capabilities, specify the
tvi912c entry—it seems to be op-
SEPTEMBER 1984
51
Mimicry
timum for both the Impersonator and Crosstalk XVI
when these programs are used with screen editors and
similarly demanding applications programs. Be sure to
specify the “c" suffix, because early TeleVideo termi¬
nals were incredibly slow at certain operations, such as
scrolling the screen up, and they required lots of pad¬
ding to accommodate their sluggishness.
Neither the Impersonator nor Crosstalk XVI
implements the block and protect mode operations
available with the 910/920 series. Also, neither specifi¬
cally sets up the function keys of the 920 terminal.
Crosstalk allows the user to customize the IBM func¬
tion keys; the Impersonator avoids the problem by sim¬
ply not claiming to emulate a 920. Special editing, func¬
tion, and transmission keys are primarily what distin¬
guish the 920 from the 912.
Lear Seigler ADM3a Emulations
The LSI ADM3a terminals are a bit like pennies.
They're found everywhere, and they continue to serve
even when old and tarnished. About five years ago I
walked into a computer facility that had just received
about a hundred of these light-blue-encased, one-eyed
monsters; they were arrayed, rank and file, like a small
army awaiting orders. I felt lucky to escape unscathed
and have had a hard time feeling comfortable using one
of them ever since that encounter. Of course, they are
very dumb and rather slow, which may also play a part
in causing me to feel as I do. Despite these drawbacks,
the ADM3a has been a workhorse in the computer in¬
dustry for years, and many programs will run on these
terminals easily.
Three of the programs reviewed include an
ADM3a emulation. The direct.connect program and
SIMTERM, at least in their current versions, emulate
nothing else. The Impersonator also pays homage to
this electronics beast of burden burden.
There is nothing particularly tricky about the LSI
ADM3a terminal or any of its emulators. Aside from al¬
lowing the user to clear the screen, position the cursor,
and perform a few other functions, the terminal basical¬
ly behaves just as a printing terminal does, except that
it uses a CRT screen instead of paper. All of the emula¬
tions worked as they should while running editors and
other programs that required, as a minimum, cursor
positioning.
Miscellaneous Emulations
Time did not permit testing of the remaining three
emulations. The creators of the Impersonator state that
it can pretend to be a Hazeltine Esprit, a rather nice
video terminal that is finding its way into computer fa¬
cilities and offices. Crosstalk, in addition to the emula¬
tions already described, is supposed to be able to func¬
tion as an ADDS Viewpoint and as a TI 940 terminal.
Table 3: Comparison of IBM 3101 Terminal
and Emulators
EMULATOR PROGRAM
3101 TERMINAL
FEATURES
Crosstalk XVI (Model 10)
IBM 3101 Emul. Pgm. (Model 20)
The Impersonator (Model 10)
Communique (Model 10)
Set Tab
Yes
Yes
Yes
Yes
Clear Tab
Yes
Yes
Yes
Yes
Back Tab [B]
—
Yes
—
-
Start Field [B]
-
Yes
-
-
Read Cursor Address
Yes
Yes
Yes
Yes
Read Buffer [B]
Yes
-
-
Set Control
No
Yes
No
No
Cursor Motion Control
Yes
[*]
Yes
Yes
Yes
Codes
Write Send Mark [20]
—
[!]
-
—
Cursor Home
Yes
Yes
Yes
Yes
Erase to EOF/EOL
Yes
Yes
Yes
Yes
Erase to EOS
Yes
Yes
Yes
Yes
Erase Input
No
Yes
Yes
Yes
Clear All
Yes
Yes
Yes
Yes
Insert Line [B]
—
Yes
—
—
Delete Line [B]
-
Yes
-
-
Insert Char. [B]
—
Yes
—
—
Delete Char. [B]
[%]
Yes
Cancel [20]
-
[!]
-
-
Print Line [20]
-
[!]
-
-
Print Message [20]
—
[!]
—
—
Print Page [20]
—
Yes
-
-
Set Buffer Address
Yes
Yes
Yes
No
Set Cursor Address
Yes
Yes
Yes
Yes
Insert Cursor
Yes
Yes
Yes
No
Lock Keyboard
Yes
Yes
Yes
Yes
Unlock Keyboard
Yes
Yes
Yes
Yes
Function Keys (PF1-PF8)
Yes
Yes
Yes
Yes
Transparent Mode
No
No
No
No
Block/Char. Mode Select
—
Yes
—
—
Norm/Trans/Prgm Mode
-
Yes
-
-
Select
Erase Keys (4) Simulated
No
Yes
No
No
Cursor Motion Keys
Yes
Yes
Yes
Yes
Enabled
Local Mode Operation
No
No
No
No
[B] —> Block mode only
[20]^ Model 20 only
[*] —> Some bits always set or ignored
[!] —♦ Not supported
[%] —♦ Canadian French not supported
— —> Not applicable
52
PC Tech Journal
Custom Emulations
Two of the emulator programs—the
Impersonator and Omniterm2—will
permit users to extend their capabil¬
ities if they dare or are pressed hard
enough to try. These programs
make extensive use of input and
output filtering and translations to
do their emulations. Both emulators
make those capabilities available to
the user through the use of various
menus and work screens.
The concept is deceptively sim¬
ple: every key press sends a code
that can be passed through unmod¬
ified or captured and translated into
a local action or a sequence of codes
to be sent out. Similarly, a character
being received may be passed or
converted. Even patterns may be
captured and translated. With a pro¬
gramming language of decision
statements and actions, it is possible
to do many interesting emulations.
Of the two packages, the Imper¬
sonator is far more sophisticated in
the way it handles the preparation
of emulations and in the breadth of
its capabilities. More features are
also being added. Owners of the cur¬
rent version will be treated to a free
update that will speed up some op¬
erations and increase the flexibility
of the actions that can be taken,
making possible more block-mode
emulations and other extensions.
Figure 1 shows a work screen
from the Impersonator that exem¬
plifies the clean method used to dis¬
play and modify translation tables
and other configurable elements.
Users who decide to "roll their
own" emulations should be pre¬
pared to do much experimenting
and to pad their walls with some¬
thing soft; there are many subtle
interactions and "gotchas" lurking
about in terminals.
Conclusions
Besides the terminal-emulation
aspects, these programs also have
other general communications capa¬
bilities,- I did not, however test any
of these features. In each case, a full
set of capabilities—including file
transfers, local printing, and general
access to bulletin boards and infor¬
mation services—is promised.
On the whole, the quality of
the documentation provided ranges
from good to excellent. The manual
provided with the Impersonator is
complete and nicely produced, but
it needs better organization in some
areas and better coverage of the
emulations that are provided. The
direct.connect package has well-
written documentation that benefits
from tabbed section dividers. The
documents that accompany
PC/InterComm and IBM 3101 Emu¬
lation Program are the most thor¬
ough in describing what their pro¬
grams do. PC/Intercom's manual is
neat and well written, but the type
size may be a bit small for old eyes.
Communique is a new product,
and its lack of maturity shows
clearly when it is compared with
some older products. It has good
potential, particularly for use in a
UNIX environment in which the
extra tools provided with the pack¬
age aid in handling multiple file
transfers and other functions. Its
documentation is currently in a
comb-bound booklet that has the
look of UNIX documentation. It
measures SMz inches by 11 inches,
unlike albthe others, which come
in the familiar half-size format.
Only one of the programs
tested, SmarTerm 100, is copy pro¬
tected. All the others may be
backed up freely and placed on hard
disks. Persoft provides two complete
copies of the program diskette, and
each may be used once to transfer
needed files to a hard disk. If a reg¬
istered user needs to update or re¬
place a hard disk more than twice,
Persoft will describe how to do it. I
don't like to see software of this
type copy protected because of the
inconvenience it causes end users.
To its credit, however, Persoft has
been helpful on the phone and has
tried to minimize the adverse effects
of copy protection.
On the basis of VT 100-series
emulations alone. I'd choose either
PC/InterComm or SmarTerm 100.
For users who need a range of
general-purpose emulations and the
potential to expand to others essen¬
tially at will, the Impersonator
looks hard to beat.
For overall versatility and gen¬
eral use. Crosstalk and Omniterm2
are both strong contenders, but
don't rule out any of these pro¬
grams. Competition in the field of
Photo 1: The Impersonator
Displaying a Work Screen
Used to Set Up Translations.
terminal emulation is becoming so
fierce that it is hard to find a really
bad product. Of course, that situa¬
tion is good for you and me. li"'—I
References
Bernstein, George B., and Arnold S.
Kashar, Intelligent Terminals:
Functions, Specifications and Ap¬
plications, Q.E.D. Information
Sciences, Inc., 1978.
Guide to Intelligent Terminals,
AUERBACH, 1976.
September i984
53
Mimicry
Vital Statistics
Communique
Computerized Office Services, Inc.
313 North First Street
Ann Arbor, MI 48103
313^5-8778
Languages: C and Assembly Language
S195
CIRCLE 495 ON READER SERVICE CARD
Crosstalk XVI
Microstuf, Inc.
1845 The Exchange, Suite 140
Atlanta, GA 303S?
404-952-0267
Language: Assembly Language
$195
CIRCLE 499 ON READER SERVICE CARD
dnect.coimect
Direct.aid, Inc.
P.O. Box 4420
Boulder, CO 80306
303422W80
Languages: Microsoft Pascal and
Assembly Language
$95
CIRCLE 498 ON READER SERVICE CARD
IBM 3101 Emulation Program
IBM
Boca Raton, FV33432
305-998-2000
The Standards Issue
Given the utter chaos in the field of
computer terminal devices, it would
seem that the standards promulgated
by the American National Standards
Institute (ANSI) have been forgotten.
For a long time, only a handful of
terminal devices conformed to the
standards, and then only loosely.
Most terminal manufacturers chose
to follow their own courses, hoping
that one or more of their product's
great features would attract more
buyers than the features of someone
else's terminal would.
The situation is improving,
though. Many of the terminals intro¬
duced in the last few years have ad¬
hered at least partially to the stan¬
dards—enough, at any rate, to allow
the manufacturers to call them
ANSI-compatible. That compatibility
is, however, largely an illusion.
What Standards?
There is a set of American National
Standards that attempts to bring
some order to a relatively chaotic
scene. It is the result of work done
by the X3 Committee, more formally
known as the American National
Standards Committee on Computers
Languages: IBM Pascal and Assembly
Language
$140
CIRCLE 497 ON READER SERVICE CARD
The Impersonator
Direct.aid, Inc.
P.O. Box 4420
Boulder, CO 80306
303442-8080
Languages: Microsoft Pascal and
Assembly Language
$195
CIRCLE 496 ON READER SERVICE CARD
Oinniterm2
Lindbergh Systems, Inc.
49 Beechmont Street
Worcester, MA 01609
627-852-0233
Language: MMSFORTH
$245
CIRCLE 495 ON READER SERVICE CARD
PC/InterComm
Mark of the Unicorn, Inc.
222 Third Street
Cambridge, MA 02142
617^576-2760
Languages: Lattice C and
Assembly Language
$99
CIRCLE 494 ON READER SERVICE CARD
and Information Processing, X3.
Three of the standards applicable to
this discussion are X3.4, X3.41, and
X3.64. These deal primarily with
codes and character sets, formatting,
and basic control functions. Others
that apply specifically to data link
control issues are also available.
The standards are voluntary and
have about the same force as resolu¬
tions of the United Nations General
Assembly—few people pay attention
to them, but we all sleep a little bet¬
ter at night knowing someone cares.
It is fortunate that the standards,
e^ecially X3.4, have had greater
effect on the communications indus¬
try than most UN resolutions have
had on governments,
ANSI X3.4-1977. This document
defines the 7-bit character representa¬
tions for control and graphic charac¬
ters that we so blithely refer to as
ASCII. The control characters are
nondisplay items that control the
communication process and format
the printing or displaying of informa¬
tion. The latter are called "format
effectors" and include horizontal and
vertical tabs, carriage return and line¬
feed (or newline), form feed, etc. Of
Relay
VM Personal Computing
60 East 42nd Street
New York, NY 10165
212-686-1450
Language: Assembly Language
$149
CIRCLE 491 ON READER SERVICE CARD
SmarTerm 100
Persoft, Inc.
2740 Ski Lane
Madison, WI53713
608-273-6000
Languages: Compiled BASIC and
Assembly Language
$150
CIRCLE 493 ON READER SERVICE CARD
SIMTERM
Jim Holtman
5 Dogwood Trail
Randolph, NJ 07869
Languages: IBM Pascal and Jissembly
Language
Free (send diskette and mailer with
adequate return postage)
CIRCLE 492 ON READER SERVICE CARD
the three documents discussed here,
this is the most useful and the most
respected by the industry.
The 1977 standard (denoted by
the ''-1977" appended to the base
number) is an updated version of the
original 1968 standard. Action must
be taken within five years of the
publication date of a standard to reaf¬
firm that standard, revise it, or scrap
it, so the documents should not be¬
come too outdated.
ANSI X3.41-1974. It didn't take
the people who wrote the standards
long to realize that the number of
unique codes that can be expressed
directly by a 7-bit code is too small
to handle the wide variety of control
and graphic requirements of com¬
puter users. Something had to be
done, and it was. In fact, it was antic¬
ipated in the definition of ASCII
codes. Four codes were assigned a
special purpose: code extension.
This document describes 7-bit
code extension techniques, clever
ways to make a 7-bit quantity have
more meaning than the normal 128
permutations of its bit values. The
techniques center on the use of four
special-purpose codes. The Shift In
54
PC Tech Journal
(SI) and Shift Out (SO) codes are used
to switch between alternate graphic
character sets. The Escape (ESC) con¬
trol code prefixes sequences of a lim¬
ited number of characters to provide
a wide range of additional control
codes. The Data Link Escaj^ (DLE)
code is similar to ESC, but it provides
a means of creating supplementary
data transmission control functions.
X3.41 does not define precisely
what specific control sequences
mean. Instead, it reaffirms the origi¬
nal ASCII control and graphic codes,
labeling the sets CO and GO respec¬
tively, and gives some general guide¬
lines on implementing alternate sets
of control codes and graphic codes
(Cl and Gl), as well as multiple-byte
GO sets if more than 94 characters
are needed. This document also de¬
fines how to switch between the var¬
ious character sets and describes
methods of creating escape sequences
of 2, 3, and n characters.
The document also deals with 8-
bit codes and ways of applying a
''family concept" to the definition of
codes for compatibility with the 7-bit
codes and for doing code extensions
in the 8-bit framework. X3.28-1971
defines the purpose and use of nine
data link control characters plus the
DLE character, which is used in con¬
structing additional sequences of data
link control codes.
ANSI X3.^4-1979. This document
attempts to define escape sequences
for specific purposes, such as posi¬
tioning a cursor, clearing the screen
of a display terminal, and many
others. It must be one of the most
confusing sets of instructions ever de¬
veloped. It is not possible simply to
look up a function in a table to see
what its escape sequence should be.
Instead, to piece together a control
sequence, it is necessary to follow a
set of "rules" that is strikingly simi¬
lar to the instructions in some adven¬
ture games. This provides plentiful
opportunities for confusion and er¬
ror, and many terminal designers
have made errors of interpretation.
The No-cost Alternative
When the range of commercial com¬
munications programs for the IBM
PC could be counted on two fingers,
Jim Holtman and his son Eric wrote
their own in Pascal. They called it
SIMTERM, a euphemistic concatena¬
tion of terminal simulator, It was the
Holtmans' original intention that
SIMTERM be used mainly in the
UNIX environment, and because of
that, its user interface was strongly
biased toward programmers.
The original program had two
remarkable matures in addition to its
generally useful operational features:
it was free, and it was supplied with
full Pascal and assembly language
source code in addition to the execut¬
able programs. The user was not
even requested to send money to the
authors if he liked and used the pro¬
gram. There was, however, one
catch—the user had to provide the
needed RS232INT.BAS file (or, for
ACS version 2.0, RS232INT.EXE.
As time passed, features were
added, bugs fixed, and the needs of
other users were accommodated. The
latest version includes a lot of nice
enhancements, including XMODEM
protocol file transfers, support for
bulletin board users, command script
files, remote access and control, and
Ventel auto-dial modem support. It's
still free, and it now includes its own
machine language interface module,
so the user no longer has to be a reg¬
istered owner of IBM's ACS package
to use SIMTERM legally.
SIMTERM is comparable to
many commercial programs, and it
has some nifty features. Here is an
abbreviated list of the program's
main features.
• Fully configurable (from com¬
mand line)
• Log session to printer and/or
disk
• XON/XOFF flow control
(may be disabled)
• Programmable function keys
(from key definition file)
• Supports multiple COM ports
and IRQ levels
• Direct connect option for
hard-wired lines
• Command script files
• Remote access and control op¬
eration
• Uses all available memory as
a scrollable session buffer
• Has many options for file pro¬
cessing and printing
• Upioad/download (three vari¬
eties, including XMODEM)
• On-line help (context-depen¬
dent help frames)
• Exit to DOS with hang-up and
no-hang-up options
• Hang up line without exiting
to DOS
• Local line editing and
retransmission
• Vental auto-dial modem
support
• Character-graphics mode op¬
tion (bit 8 enabled)
• Terminal emulation (LSI
ADM3a)
I have used the program with Hayes
external and built-in modems, the
U.S. Robotics Password modem, and
X3.64 is a "living" document in
that it describes procedures for a re¬
gistry of escape sequences and their
meanings, except for what are con¬
sidered "private" escape sequences.
The registration of sequences tries to
guarantee that items that should be
used identically by everyone are in
fact used in that way, and that those
that must be unique are unique.
Information, Please
Information about the status of ANSI
standards and copies of individual
standards documents may be ob¬
tained by writing or calling the
American National Standards Insti¬
tute, 1430 Broadway, New York, NY
10018, 212-354-3300. The Institute
also provides information about stan¬
dards published by the International
Organization for Standardization
(ISO). A catalog costs $10; individual
documents vary in price.
-AH
standard 212A- and 103-compatible
modems wihout difficulty. The user
will have to flip a few switches on
some of the modems; information
about this is provided in a 12-page
"readme" file on the distribution
disk. Because the Holtmans have the
Ventel modem, they designed for it
rather than the Hayes. If they re¬
ceive enough requests for Hayes sup¬
port, it will be added. They got my
request already.
There is a growing interest in
SIMTERM, especially in the univer¬
sity community. Many universities
run the UNIX operating system on
their main computers and are setting
up PC labs, using IBMs and work-
alikes in addition to other equip¬
ment. SIMTERM gives the schools a
painless way to connect the PCs to
the main computers. A public do¬
main program called UMODEM can
handle the UNIX end of XMODEM
file transfers, so all the pieces are
available at little or no cost.
If you want a copy of SIM¬
TERM, first try a friend or computer
club that may already have the pro¬
gram. If that doesn't work, send a
formatted diskette in a suitable
mailer with return postage tO:
Jim Holtman
35 Dogwood Trail
Randolph, NJ 07869
Jim and Eric get nothing from
this except the satisfaction of know¬
ing others use and enjoy their pro¬
gram. If you don't really need it,
please don't waste their time.
-AH
September i984
55
ILLUSTRATION ‘GARY CICCAKFl
OMNIUM
GATHERUM
if *
Corvus Systems' Omninet can support a miscellaneous collection of
computers in the same network.
C orvus Systems' Omninet is the grand old man of microcomputer net¬
works. It began its electronic life by connecting Apple II and TRS-80
computers and has since evolved into the network community's equiva¬
lent of the intergalactically renowned (at least to readers of Douglas Adams'
Hitchhiker’s Guide to the Galaxy) babblefish.
Omninet is designed to interconnect a variety of microcomputers, all of
which can be running under different operating systems. When each computer
is provided with network hardware and drivers appropriate to the particular
machine, they are all able to share a central disk server, mass storage devices,
printers and other peripherals. PC Tech Journal has a Johnny One-Note variety
• of microcomputers available for testing, and therefore we were able to evaluate
network performance only on IBM PCs.
Susan Glinert-Cole and Julie Anderson
CORVUS
The operating systems that are
presently supported for the PC are
DOS 1.1, 2.0, and 2.1. Although
Omninet is written in UCSD Pascal,
no drivers are provided for either
the UCSD p-System or any version
of CP/M. Minimum requirements
for a user station are one disk drive
and 64K of memory. The station
used to generate the network system
and set up the server software needs
128K and one disk drive. Omninet
uses stand-alone disk servers for
sharing mass storage, and to imple¬
ment spooling it uses either a sepa¬
rate print server, which can service
one parallel and two serial devices,
or an IBM PC with a printer.
Omninet is not inexpensive.
The server ranges in price from
$1,995 for a 5-megabyte disk to
$4,995 for a 45-megabyte disk. Each
station requires a transporter card
that costs $495. Print spooling and
back-up facilities run the price up
even more: the printer server is
$990 and the bank tape back-up
costs $2,195. Neither the trunk
cable nor the printer cable come
with the package.
The network is a CSMA system
and uses RS-422 twisted-pair wire in
a linear bus configuration for both
the trunk and drop cables. Connec¬
tions between the drop and main
cables are made by means of trans¬
ceivers that are housed in small
plastic boxes. The length of the
trunk cable cannot exceed 4,000
feet. Network throughput speed is
one megabaud per second.
All of the devices on the net¬
work-hard disks, print servers, and
computers—have individual trans¬
porter boards installed to handle
communications; each board is set
to a unique address. As many as 64
devices can be linked together into
an Omninet system. The network
uses no interrupt or DMA channels,-
it uses I/O ports 248h to 24Bh.
The Omninet package provides
the services of the four lower layers
of the ISO/OSI protocol. The upper
three layers are supplied by Corvus
for each machine. Corvus reserves
the word Omninet for the lower
four protocol layers only and uses
the designation Constellation II to
mean the higher-level network soft¬
ware. We will refer to the entire
system as Omninet, because that
name is generally more familiar to
the computer community.
All transporter boards are iden¬
tical in nature; no master network
controller is required. The trans¬
porter is responsible for generating
and receiving message acknowledg¬
ments, retransmitting messages in
the absence of acknowledgments,
and detecting duplicate messages.
File or Message Transfers
When the transporter has a packet
ready to send, it checks the trans¬
mission line for traffic. If the line is
idle, transmission proceeds. Other¬
wise a random delay count is gener¬
ated, after which transmission is
again attempted. The process is re¬
peated until the line is idle, or until
the number of retries exceeds the
limit set internally. Collision detec¬
tion is not required.
From the host's point of view,
the unit of transfer is a single mes¬
sage. To send a command to the
transporter, the host computer
formats a command vector in mem¬
ory and sends the address of that
vector to the transporter. The trans¬
porter converts the message into a
data packet by adding system infor¬
mation and then converts the pack¬
et to a synchronous serial bit stream
and sends it out over the network.
Currently, Omninet implements
seven commands (see table 1).
Only one message can be sent at
a time, but up to four can be re¬
ceived simultaneously. Four sockets
in the transporter are activated by a
unique vector that contains the
SETUP RECEIVE command; these
sockets thus operate independently.
Messages are split into a user-data
portion and a user-control portion,
and each is assigned its own host
computer memory buffer area by
the SETUP RECEIVE command for
that particular socket.
Network devices initiate com¬
mands by sending 3 bytes, which
represent a 24-bit address, to the
local transporter. This address con¬
tains the command vector, which
includes a command code, a result-
record address, and other informa¬
tion required to process the com¬
mand. After the command has been
Table 1: Currently Supported Omninet Commands
INITIALIZE
Initialize transporter (automatic at power-on)
SEND MESSAGE
Send a message to a specific node or broadcast to all nodes
SETUP RECEIVE
Prepare to receive a message
END RECEIVE
Stop receiving messages
WHO AMI
Return node ID number
ECHO
Check for the existence of a specified node
PEEK/POKE
Set transporter parameters (e.g., number of retries)
58
PC Tech Journal
executed, the transporter signals the
host by altering the result record.
Computers that support interrupts
will generate one after the result
record has been modified.
Disk servers have limited buffer
space; disk commands longer than
4 bytes are sent in two parts. The
first transfer sends the first 4 bytes
of one disk command to the server.
The host computer waits for a
"GO" response from the server be¬
fore it sends the rest of the com¬
mand. The server can queue one re¬
quest for each network device.
System Set-up
The hardware set-up for Omninet is
reasonably simple in concept: each
device in the network must have a
transporter board installed and set to
a unique address. Corvus devices,
such as the disk and utility servers,
come with the transporter hardware
already installed.
Each device is connected from
its transporter board to the trunk
cable by a drop cable and a trans¬
ceiver (called a tap box). The drop
cable plugs into the tap box with a
jack, but the trunk cable attach¬
ment is a little trickier.
The outer shield of the
trunk cable must be
carefully stripped, so
as not to cut the in¬
ner shielding, and the
cable placed into two slots
in the tap box. It takes a fine, steady
hand with a knife, razor blade, or
pair of wire strippers to accomplish
this. The bus must be terminated
with two resistors, which are not
included in the price of the net¬
work. (We got ours at Radio Shack
for 39 cents.)
The hardware documentation
is, for the most part, clearly written,
but it is not well organized. Each
device comes with its own manual;
another manual contains the in¬
structions for installing the soft¬
ware,- and the transporter boards
come with a separate pamphlet de¬
tailing the set-up of the boards.
cables, and tap boxes. There are no
indices in some of the manuals, and
we often had three of them on our
laps simultaneously while attempt¬
ing to diagnose a problem.
Several omissions and errors
caused considerable installation
problems. One error was serious
enough to make installation impos¬
sible as described. A picture of the
address dip switches shows all the
switches UP as address 00. Unfor¬
tunately, this is backwards; all
switches UP should be address 63.
When the system-generation pro¬
gram asked for the address of the
server to be installed, it found no
server with address 00; the system
hung and had to be rebooted.
This problem would not have
been as serious if all of the switch
settings were consistently incorrect.
In fact, they were correctly de¬
scribed in some places (in the pam¬
phlets for the transporter boards, for
example). The dip switch problem,
which plagued us throughout
the installation,
OmniDrive Diagnostic Guide. As in
all of the hardware manuals, these
sections are organized in a "paint-
by-number" scheme: follow each
step in the guides, and the installa¬
tion is complete when all the num¬
bers have been used up. This would
have been a satisfactory presentation
had everything gone smoothly.
When problems occurred, however,
it was less than satisfactory. There
are few, if any, problem-determina¬
tion procedures other than "Contact
your Corvus representative."
The software comes on four
diskettes, three of which are the
p-System software kernel. The
fourth contains PC-DOS drivers and
the user-station software for manag¬
ing volumes and performing print
spooling functions. Corvus main¬
tains that the Omninet diskettes are
not copy protected, but we were un¬
successful in making back-ups for
two of the three p-System disks.
The system set-up and main¬
tenance software is entirely menu
driven and simple to use. Once it
caused us to coin our Omninet Mot¬
to: What goes up, must be down.
The most irritating aspect of the
installation process was the lack
of meaningful error messages and,
in some cases, the absence of any
error messages at all. Although the
system does present error codes on
occasion, there was no table of error
messages in the documentation.
Also missing were several errata
sheets that were essential.
The main manual is divided
into four sections: system genera¬
tion, system manager's guide, net¬
work station user's guide, and
was correctly installed, we had no
problem with the software.
Software installation is begun
by booting the system-generation
diskette, CORMS21, and entering
the system password provided in the
manual. The initial menu presents
several choices: Initialize Drive,
Drive Management, Maintenance
Utilities, Configure System, List
Drives, and Help. All disk servers
on the network must be initialized
before installation can proceed.
When the drive initialization option
is selected, another menu appears
that asks the user to name the disk
September i984
59
CORVUS
server, create a server password,
name the drive, and create a drive
password. The standard configura¬
tion allows up to 512 users, 512 vol¬
umes, three computer types, and
of volumes are made when the user
is granted volume access.
Interestingly, the manual,
which contains an extensive walk¬
through of the installation proce¬
four Omninet disk servers. If these
parameters are not satisfactory, or if
Apple II computers will be part of
the network, other configurations
can be designated.
Once the drive(s) have been ini¬
tialized, the Omninet software
copies system files from the floppy
disk drive to the Corvus Volume.
The entire process is well prompted
from clear menus and takes about
30 minutes. The system must be re¬
booted to continue the installation.
Selecting the Drive Manage¬
ment option at the main menu
brings up a second-level menu that
contains additional programs to
manage volumes, volume access,
users and devices, and operating-
system boot environment. At this
point, volumes need to be created
for the network users. This is easily
done by choosing the Volume Man¬
ager option; another menu floats to
the top. Volumes are created with a
name, size, and operating system
type. Adding volumes is done by re¬
petitively pressing a few keys until
the disk runs out of space, the user
runs out of patience, or all desired
volumes have been created.
Privacy protection in Omninet
is implemented by granting selected
access to a volume or volumes with
the Access Manager. Access can be
read-only or read/write. As many as
10 volumes can be automatically as¬
signed to drive letters (called
mounting) when the user boots the
station software. These assignments
RAM disk) are assigned to a drive
letter, these device drivers should
precede the Corvus driver in the
CONFIG.SYS file. This procedure
will mount all Corvus volumes on
drive letters following those of the
local MS-DOS device drivers.
Information Transfer
File and message transfers, as well as
print spooling, are implemented
with a pipe area. This is a special
volume, called PIPES, created in the
mass storage system. All users who
will be transferring information
dure, grants the user access before
the user is actually created. The sys¬
tem doesn't seem to care whether or
not the user really exists.
Users are created with the User
Manager facility. They are assigned
a password, a home disk server, and
a boot operating system. For obvious
reasons, the user's boot operating
system must agree with the vol¬
umes that have been mounted with
the access manager.
The creation of DOS 2.0 boot
disks for the user station involves
the process of copying the files on
the CORMS24 diskette to an MS-
DOS diskette that has been format¬
ted with the system on it. A CON¬
FIG.SYS file on the boot disk must
contain this instruction:
DEVICE = CORDRV.BIN
If Other device drivers (such as a
For DOS 1.1, a custom BIOS
interface routine containing the
Corvus device driver is installed on
the disk server. The boot disk re¬
ceives a modified boot record that
transfers control to that custom
BIOS routine.
The system is rebooted with the
user-station diskette, which presents
the CORVUS sign-on menu and
prompts for the user's password.
When it has been successfully en¬
tered, any AUTOEXEC.BAT file is
executed, and the familiar DOS
prompt appears. All mounted vol¬
umes are accessible with drive let¬
ters beginning with the first one
available after the local drives. For
example, if a host computer has two
floppies, a RAM disk, and a fixed
disk, the first network volume
would be mounted on drive E.-.
Software set-up was easy (no dip
switches here). Because it is written
in p-System, however, the Omninet
software goes back to the disk to
load and initialize an overlay for
each menu selection. After only a
little while, the delays became irri¬
tating. Clearly, system installation is
not a frequently performed task, so
its duration is not a significant fac¬
tor,- however, repetitive installations
induced by error conditions can
make the process time-consuming,
although the system manager would
rarely spend several hours a day
with the set-up utilities.
60
PC Tech Journal
must have access to this volume.
Once the volume is created, users
send files to the pipe area with the
name of the intended recipient,
which is designated as the pipe
name. The pipe name can be an¬
other user, a local printer, or a de¬
vice, such as the print server.
Files transmitted via pipes are a
convenient way of converting files
from one operating system format to
another. Information can be re¬
trieved from PIPES by using the
DESPOOL program and naming the
pipe for which to search. Files that
are spooled to a print spooler are de-
spooled automatically.
Internode spooling requires the
purchase of the Omninet print serv¬
er or a PC with an attached printer.
Otherwise, users are limited to
spooling to local printers or to the
display. Although Corvus describes
the PIPES volume as a message cen¬
ter, it was awkward to use.
The SPOOL and DESPOOL pro¬
grams default to PRINTER as the
name of the pipe to be used. Thus,
in order to send a file or a message
to another node, these programs
must be reconfigured to reflect the
change in pipe name. This change
is not saved, which requires the
sender or recipient to load the pro¬
gram and perform the change man¬
ually each time it is desired.
If a message is waiting in PIPES,
the recipient is not informed; he or
she must periodically check the vol¬
ume for the correct pipe name. Al¬
though the user can despool to the
printer, file, or console, the message
is gone forever and cannot be re¬
peated once it has been despooled.
This would not be critical if
reasonable error checking were per¬
formed so that the recipient could
change a disk or close the drive
door. We despooled a message to a
full disk by accident: the message
was removed from the pipe by the
despooler and tossed away.
Corvus markets a separate elec¬
tronic mail package called Omni-
Mail for use with the network. If
Table 2: Benchmark Results
PC-DOS
1 user
1 user
2 users
2 users
2.0
stn. 1
stn. 2
stn. 1
stn. 2
I/O Benchmarks (in seconds)
random access
0:06
0:08
0:07
0:16
0:14
sequential read/write
0:29
0:36
0:32
0:49
0:49
sequential read
0:14
0:16
0:15
0:24
0:24
dBASE sort, 1 key
0:40
0:42
0:42
0:51
0:47
dBASE index, 1 key
0:29
0:34
0:34
0:60
0:60
dBASE index, 2 keys
0:29
0:32
0:32
0:55
0:55
Word Processor Benchmarks
WordPerfect:
load wp from hard disk
0:04
0:08
0:08
0:15
0:13
load wp from floppy disk
0:14
0:11
0:10
0:11
0:11
exit wp (to hard disk)
0:01
0:04
0,03
0:05
0:04
load file from floppy
0:04
0:03
0:03
0:03
0:03
save file to floppy
0:18
0:19
0:19
0:19
0:20
load file from hard disk
0:02
0:03
0:03
0:04
0:04
save file to hard disk
0:15
0:16
0:16
0:20
0:20
WordStar:
load wp from hard disk
0:06
0:06
0:07
0:08
0:08
load wp from floppy disk
0:07
0:07
0:07
0:07
0:07
exit wp (to hard disk)
0
0
0
0
0
load file from floppy
0:03
0:10
0:03
0:10
0:10
save file to floppy
0:32
0:33
0:33
0:34
0:34
load file from hard disk
0:03
0:04
0:04
0:06
0:06
save file to hard disk
0:10
0:12
0:12
0:19
0:17
message transfer is a priority for the
network, the extra expense should
be considered. (We did not receive
OmniMail in time for our review.)
One of the most pleasant fea¬
tures of Omninet is its mass storage
tape back'-up, called the Bank. Tapes
are available in 100- or 200-mega-
byte capacities, and the software
provides elegant and flexible options
for saving and restoring disk images
and volumes. Additionally, an en¬
tire drive can be copied to a second
drive, or a tape transferred to a sec¬
ond tape (assuming there is a second
Bank on the network).
Performance
We tested OMNINET with six
small benchmark programs designed
to view network performance with
a heavy I/O load (see table 2). The
random-access test writes 50 records,
within a 1,000-record file, to 50
other records. Each record is 50
bytes long. The sequential-read test
reads 641 lines, each 50 bytes long,
within a 40,000-byte file. The se¬
quential read/write test reads and
then writes 641 lines, each 50 bytes
long, to another file.
The dBASE II benchmarks used
200 records, each containing fields
for name, address, telephone num¬
ber, and zip code. These records
were sorted on one key, indexed on
one key, and indexed on two keys.
The word processor benchmarks
were performed with WordStar and
WordPerfect, in conjunction with a
30,000-byte file.
The programs were run under
several different conditions, with
the OMNINET hardware always
in situ, except for the control tests
in the standard single-user PC-DOS
environment. The user-1 unit was
an IBM PC with an expansion chas¬
sis, 512K, a 10-megabyte fixed disk,
and an IBM Graphics printer. The
user-2 machine was a PC with 256K
memory, without a printer.
September i984
61
CORVUS
First the single-user tests were
done on each unit, while the second
computer was idle. Next, the tests
were performed with both com¬
puters simultaneously running the
benchmarks from different volumes
on the disk server.
Under PC-DOS alone, the ran¬
dom access test took 6 seconds, the
sequential read/write test took 29
seconds, and the sequential read test
took 14 seconds. Performance in the
single-user situation did not decline
noticeably using the Omninet soft¬
ware. When two users performed
these tests simultaneously, bench¬
marks that accessed the fixed disk
showed some degradation, but in
general, the degradation was neither
excessive nor particularly notice¬
able. The Omninet software had a
similarly mild effect on the dBASE
II and word processor benchmarks.
Although the software is rea¬
sonably robust, it does have a few
quirks that range from irritating to
disastrous. Error checking on input
is lackadaisical. Often the system
will accept inaccurate information
without warning the user that it
will do so. When asked to remove a
volume, the volume manager does
not provide a warning message that
files are still present in the volume.
Omninet has few, if any, provi¬
sions for fielding time-out errors. If
a device is unavailable, the com¬
puter that is requesting transmission
hangs. Corvus intends to fix this
problem in another release.
Users might feel somewhat iso¬
lated within Omninet. There is no
way to find out which devices are
hooked to which host computers or
to see who is on the network.
A more serious omission is the
lack of any provision for dynamic
disk, file, and record locking to pre¬
vent data corruption in a multi-user
situation. All users are assumed to
be friendly to the network, but
there is no way, when accessing a
file, to find out if someone else is
currently using it. Corvus imple¬
ments semaphores for these facili¬
ties, and they are available to appli¬
cation programmers who are writing
multi-user software to run on Omni¬
net. However, dynamic locking at
several levels is now available on
many local area networks that do
not even require separate disk serv¬
ers.
The Omninet protection
scheme is primitive; two passwords,
one for the system manager and one
for the disk server, will get a user
into the entire system. Privacy is
available only at the volume level.
Once a user has access to a volume,
he or she has access to every sub¬
directory and file that is contained
therein. There is no way to write-
protect a single file or group of files
within a volume. Again, several
other networks offer more sophisti¬
cated privacy schemes. If privacy
and disk-data corruption are impor¬
tant factors, purchasers of Omninet
will have to look to application pro¬
grams to provide these facilities.
The installation problems aside,
Omninet is nicely designed and gen¬
erally bug-free. The integration of
utility servers and mass storage
back-up provides a sense of unity to
the network hardware and software
environment. More significant,
Omninet's transparency and speed
are excellent. Revised documenta¬
tion and well-implemented applica¬
tion software will augment what is
already a sturdy product, capable of
handling the network requirements
of a small business office. lim—i
Omninet
Corvus Systems, Inc.
2100 Corvus Drive
San Jose, CA 95124
408-559-7000
CIRCLE 484 ON READER SERVICE CARD
Imagine your PC with
Apparat add-ons. Imagine
where it could take you.
special values from the hard disk
experts. For example, imagine your IBM
PC or Portable PC with hard disk capabiliu^
Apparat s external Hard Disk Subsystem
is completely compatible, running DOS
2.0 or 2.1 without modification or device
drivers. And now you can get more capac¬
ity—22 and 33 MB formatted configura¬
tions—for less money. 22 MB for $2,295,
33 MB for $2,995. Apparat also offers
internal or external 10 MB drives at simi¬
larly low prices.
OT owners—trade in your 10 MB
drive for a larger Apparat hard disk
drive. Our 22 MB drive is $1,299, but
you pay just $899 with a trade-in of your
existing 10 MB drive. Our 33 MB drive is
just $1,799, but you pay just $1,399 when
you trade in your existing 10 MB drive.
Call the Apparat ordering hotline for
trade-in details and shipping instructions.
TEAC or Panasonic floppies. These
half-height floppies are perfect for your
PC, PPC, or XT. Call for trade-in prices on
full-height floppies.
New 28 pin EPROM programmer.
Now Apparat has a new Prom Blaster for
the PC, XT, PPC and PCjr to program most
28 pin EPROMS (including the 2764,128,
256), in addition to our original Prom
Blaster that programs most 24 pin EPROMS
...each $129. We also make an EPROM
cartridge for the PCjr to accept your newly
programmed EPROMS.
PPC and PCjr. Apparat has developed
new products for the IBM Portable PC.
Now available is a 256K RAM card and a
Combo card (P & S). Both fit the PPC short
slots. New for the PCjr is a 128K RAM card
and a Combo jr card (P & elk). Both fit the
side attachment.
Other Apparat add-ons. RAM cards
for the PC and XT—64K $189, expandable
to 512K. COMBO II card for the PC and XT,
5 functions on one card— $189. CRAMBO
card for the PC pigg\^backs COMBO II on
64K RAM card— $359. 64K internal PRINT
SPOOLER with parallel interface— $299.
Stand-alone at $319.
Warranty. All Apparat manufactured
PC. boards sold after June 1,1984 covered
by our exclusive lifetime limited warrant
covering parts and labor.
^^ Apparot.lnc.
ADD ON AND ON AND ON AND ON AND ON
ORDERING AND DEALER
INFORMATION
800 / 525-7674
Price.s subject to change without notice.
61
APPARAT TAKES YOUR PC TO NEW REALMS.
4401 South Tamarac Parkway, Denver, CO 80237—Customer Service 303/741-1778
Apparat retail outlets—DENVER: 4401 S. Tamarac Pkw^^ 303/771-2032 • 5224 W. Warren Ave. 303/985-1217
CHICAGO: 1844 S. Arlington Heights Rd. 312/640-0322
CIRCLE NO. 106 ON READER SERVICE CARD
Mr. Chips Plays Ibur PC
Like a One Man Band
Mr. Chips, the new multi-function
card from Orange Micro, adds a full
ensemble of features to your IBM®
PC. Memory, printer ports, and a
clock are standard, and you’d
expect them on a top quality board.
But computing is changing.
Soon computers will take care of
everyday things; like watering the
lawn, or turning on your lights when
it gets dark. And onlyJVlr. Chips can
do this now. These capabilities are
standard, so your growing needs
won’t require additional equipment.
There’s also a dual game port, so
you can duel to the end, by yourself
or with a friend.
Every Mr. Chips comes with Chip-
disk™ software, for RAM disk and
print spooling. With RAM disk you
set up your PC’s memory to act like
a disk drive. This means much
faster execution and searching of
programs. Print spooling sets your
PC’s RAM to serve as a printer
buffer, so you can compute even
while your printer is printing.
You can orchestrate
remarkably low price.
Visit your dealer and see for your¬
self: Mr. Chips is the multi-function
card for today.. .and tomorrow.
The First Multt-fimction Card with 9 Standard Features
• Parallel Port*: Great for getting fast printouts on
efficient dot matrix printers.
• Serial Port: The most popular way to access high
grade letter quality printers or phone modem
communications.
• 64K-256K RAM: Upgrade your PC’s memory to
handle powerful Integrated software and other larger
programs.
• Clock/Calendar: Accurately keep track of time and
date, even when your computer is turned off.
• Dual Game Port*: Accommodate two complete joy¬
sticks at once, so you can play alone or duel with a
friend. Also for use with CAD/CAM software.
• Real World Interface: This innovative port can moni¬
tor and control equipment like thermostats, moisture
detectors, photocells and other independent devices.
■ BSR is a registered trademark of the BSR Corporation
■ IBM is a registered trademark of International Business Machines Corporation
• BSR™AC Line Controller*: Control your lights, appli¬
ances, security systems, or anything that plugs into
an AC wall socket.
• Chipdisk RAM Disk: Set your PC memory to act like
a disk drive. Your programs will run much faster than
with conventional disk drives.
• Chipdisk Print Spooler: Your PC memory will serve
as a printer buffer, so you won’t have to wait for your
printer anymore.
• Cables available separately
Orange micro
^ IfK.
1400 N. LAKEVIEW AVE., ANAHEIM, CA 92807 USA
(714) 779-2772 TELEX: 183511CSMA
© Orange Micro, Inc., 1984
CIRCLE NO. 168 ON READER SERVICE CARD
Arthur A. Gleckler
CDMmRING
GREAT THINGS
WITH SMALL
Photo 1: IBM's Compact
Printer—a low-end,
inexpensive printer for
the PC/r owner
I BM has recently added two
new printers to its line of per¬
sonal computer products. The
PC Compact Printer, for use
with the PC/r only, prints on
special thermal paper. The Color
Graphics Printer, a monster of a ma¬
chine (at 55 centimeters wide by 32
centimeters deep by 25 centimeters
high), prints graphics and near-let¬
ter-quality text in color.
IBM's Color Graphics
and Compact printers
serve two very
different segments of
the PC marketplace.
PC Compact Printer
The PC Compact Printer is truly
compact (31 centimeters wide by 19
centimeters deep by 9 centimeters
high) and extremely simple in de¬
sign (see photo 1). Only three con¬
trols are on the outside of the
printer: a paper release lever, a
paper feed button, and an on/off
switch. A curved cover over the print¬
ing mechanism lifts to reveal a rack
for roll paper. Because the printer
has been designed specifically for
the PC/r, there are no DIP switches
to set or cables to build; instal¬
ling the printer is simplicity itself.
The PC Compact Printer has
three paper-feeding options: rolls of
September i984
65
Printers
Photo 2: IBM's Color Graphics Printer—a monster of a printer
for the business user
paper, single sheets, and fanfold pa¬
per. Because it uses thermal printing
technology, the PC Compact Printer
can print only on specially treated,
thermal paper. Although thermal
printers are quiet, they also have
their disadvantages. Text printed by
thermal printers tends to be rather
light immediately after printing,
and it gradually fades away over
time, especially when exposed to
bright light. The poor print quality
and the characteristic silver sheen
of thermal paper result in a less-
than-satisfactory printed product;
the paper is also expensive.
In defense of IBM, it may be
said that this printer was designed
for low cost and the printing needs
of the average PC/r user. Still, many
PC/r owners undoubtedly will pur¬
chase slightly more expensive im¬
pact printers rather than tolerate
the poor print quality of the PC
Compact Printer.
Although most of the control
codes used with the PC Compact
Printer are carry-overs from pre¬
vious IBM and Epson printers.
many capabilities are lacking in the
new printer. Although the Compact
Printer can print double-width and
compressed text, it does not have
emphasized, double-strike, sub¬
scripted, or superscripted text, and it
has only low-density graphics. In
terms of control codes, it is simply a
scaled-down version of the IBM
Graphics Printer. Unfortunately, be¬
cause of the lack of medium-density
graphics, DOS 2.Ts GRAPHICS.-
COM graphic screen-dump utility
does not work with the Compact.
The PC Compact Printer has a
built-in, three-wire cable that at¬
taches to the serial connector
(marked "S"') on the rear of the PC/r
cabinet. To attach most of today's
printers to the PC/r, a parallel print¬
er port attachment device is needed.
IBM's decision to use the PC/r's
built-in serial port for the PC Com¬
pact Printer lowered the cost of the
printer.
The documentation included
with the PC Compact Printer con¬
sists of one 36-page insert for the
PCjr Guide to Operations. The first
section of the manual details how to
insert paper, test the printer, and at¬
tach it to the PC/r. It also explains
the shortcomings of thermal paper
and suggests ways to delay the fad¬
ing effect. Technical information in
the manual includes a list of printer
control codes and their functions, a
list of legal print mode combina¬
tions, a chart of the characters that
the PC Compact Printer can print
(these include most of the PC char¬
acter set but not the line-drawing
characters), and a diagram of con¬
nections in the serial cable.
The PC Compact Printer is
suited for the home environment in
Thr Dugl"ip».« t
report F
or XBM COLOR PRIN
TER (DP MODE)
Eilapiiied i. in
1 e ™ 3 6
seco o (d ‘.H o r 50
lines of text.
ia5 eharii
•LeterK pe
Line*r» pe
r second for 3350
r in i 11 i.ie .
characters.
Figure 1: A Sample Printed by the IBM Color Graphics Printer
(DP Mode) Showing Results of PC Magazine Printer Test
Figure 2: A Sample of Text Printed by the IBM Color Graphics
Printer (Text Quality Mode) Showing Results o/PC Magazine
Printer Test
Figure 3: A Sample of Text Printed by the IBM Color Graphics
Printer (Near Letter Quality Mode) Showing Results
of PC Magazine Printer Test
66
PC Tech Journal
THE
8" DISKETTE SYSTEM FOR THE IBM PC
8" Diskette file exchange between the IBM PC and
most micro-mini-mainframe computer systems.
8" Diskette text document exchange between the
IBM PC and many word processing systems.
8" Diskette to SV 4 " formats for hundreds of other
systems, even Textpack and Wordstar to the new
DisplayWrite 2 format.
FLAGSTAFF ENGINEERING / P. O. Box 1970 / Flagstaff, AZ 86002
Telephone 602-774-5188 / Telex 705609 FLAG-END-UD
CIRCLE NO. 213 ON READER SERVICE CARD
Printers
ABBREV
MEANING
DECIMAL CODE
BEL
Bell
7
BS
Backspace
8
CAN
Clear Buffer
24
CR
Carriage return
13
DEL
Delete character
127
ESC
Escape character
27
FF
Form feed
12
HT
Horizontal tab
9
LF
Line feed
10
NUL
Null character
0
vt
Vertical tab
11
( 1
Choice of possible values
Repeated
Table 1: Abbreviation Key to Tables 2, 3, and 4
FUNCTION
BIT IMAGE GRAPHICS
ASCII CODE
Double-speed, medium-density graphics
ESC Y length_word data. .
♦Low-density graphics
ESC K length_word data. .
Medium-density graphics
FORMAT CONTROL
ESC L length_\yord data. .
♦Horizontal tab
HT
♦Horizontal tab set
ESC D positions. . NUL
♦Form feed
FF
♦Set form length in lines
ESC C number_of_lines
Set form length in inches
ESC C NUL number of inches
♦Vertical tab
VT
♦Vertical tab set
LINE SPACING
ESC B positions. . NUL
♦Set line spacing to 1/8 inch
(1/9 inch on IBM Compact Printer)
ESCO
♦Set line spacing to 7/72 inch
(1/12 inch on IBM Color Printer,
1/9 inch on IBM Compact Printer)
ESC 1
♦Set line spacing to 1/6 inch
MISCELLANEOUS
ESC 2
Bell
BEL
♦Carriage return
CR
♦Null
NUL
♦Print left-to-right for one line
ESC <
Unidirectional print start/end
PAPER FEED EXECUTION
ESCU {0, 1}
♦Line feed
LF
♦Perforation-skip mode cancel
ESCO
♦Perforation-skip mode set
ESC N number_of_lines
PRINT MODES
♦Compressed mode cancel
DC2
♦Compressed mode set
SI
Double-strike mode cancel
ESC H
Double-strike mode set
ESCG
Emphasized mode cancel
ESC F
Emphasized mode set
ESCE
♦Enlarged mode cancel
DC4
♦Enlarged mode set/cancel
ESC W {0, 1}
♦Enlarged mode set
SO
Superscript/subscript mode cancel
ESCT
Superscript/subscript mode set
ESC S {0, 1}
♦Underlined mode set/cancel
*compatible with IBM Compact Printer
ESC - {0, 1}
Table 2: Functions Common to Epson FX-80, IBM Graphics, and
IBM Color Printers
FAST
LETTER
QUALITY
FOR YOUR
EPSON
Now you can print letter quality on
your Epson FX printer at full text¬
mode speed, up to 10 tinnes faster
than with programs using graphics
mode. Printer Boss'^'^ software
gives you two-pass dot-matrix let¬
ter quality and lets you create a
printer buffer of up to 32K. Or print
multi-page spreadsheets as wide
as you like, sideways on your paper,
at high speed, in a choice of five dif¬
ferent type sizes.
Printer Boss'^^ also allows full
menu-based operation of all control
functions of all of the Epson MX, FX
and RX printers. Select and de¬
select pica, elite, compressed, italic,
enlarged, emphasized, doublestrike,
underline, superscript and subscript
for scores of different faces. Set line
spacing, right and left margins and
skip-over-perforation. Load USA,
France, Germany, England, Den¬
mark, Sweden, Italy, Spain and
Japan language sets. Control unidi¬
rectional, half-speed and proportion¬
ally-spaced printing. Store and re¬
trieve 10 complete menu settings
with a few keystrokes. Emulate the
IBM-label printer for the IBM-PC
while retaining full printer versatility.
Download to FX printers five dif¬
ferent IBM character sets, includ¬
ing graphics symbols, greek sym¬
bols, screen and APL characters.
Print at full text-mode speed. Ideal
for IBM graphics software, or
screen dumps, or printing text from
Wordstar, Lotus 123 or many other
fine programs.
Printer Boss^m for the IBM-PC and
compatibles $59.95. With Letter
Boss™ letter quality or Sidekick™
sideways print option $99.95. With
both $139.95. Visa, MC, or send
check. Free info. Dealers welcome.
Printer Boss""
CONNECTICUT SOFTWARE
30 WILSON AVENUE
ROWAYTON CT 06853
203-838-1844
SIDEKICK IS NOT TO BE CONFUSED WITH SIDE¬
WAYS. A TRADEMARK OF FUNK SOFTWARE. PRINT¬
ER BOSS. LETTER BOSS AND SIDEKICK ARE TRADE¬
MARKS OF SPEER RESEARCH CORPORATION.
WORDSTAR AND LOTUS 123 ARE TFIADEMARKS OF
MICROPRO INT'LCORPAND LOTUS DEVELOPMENT
CORP RESPECTIVELY.
that it is easy to use and inexpen¬
sive. If the problems inherent to
thermal printing are ignored, it is
an attractive printer.
Color Graphics Printer
The IBM Color Graphics Printer
was designed with performance, not
cost-consciousness, in mind. It is a
rugged machine; its case is made
with surprisingly strong (6-milli¬
meter-thick) plastic, and the entire
print mechanism is built on a
sturdy metal frame (see photo 2).
The print-head-positioning motor is
large (9 centimeters in diameter.
CIRCLE NO. 235 ON READER SERVICE CARD
PC Tech Journal
compared to 3.5 centimeters for the
motor on the Epson FX-80). In short,
the IBM Color Graphics Printer is
built like a tank.
On the front of the printer is a
group of buttons for manual control
of printer functions, including line
feed, form feed, top-of-page set,
printer test, and power on/off. Be¬
low this is a slot for inserting single
sheets of paper into the printer,-
continuous-form paper is fed
through a slot located underneath
the printer. The Color Graphics
Printer can handle standard and
wide (up to 30.5-centimeter) forms
with its fully adjustable tractors.
On the inside front wall of the
printer are the DIP switches, which
control character set, line spacing,
perforation-skip mode, automatic
line-feed mode, line width, page
length, print quality, and other
functions. They can be reached by
simply raising the access cover. A
fuse, located on the rear panel of
the printer, is as easily accessible
as the DIP switches.
By far the most interesting fea¬
ture of the Color Graphics Printer is
its ability to print text and graphics
in red, blue, yellow, black, and any
combination thereof. This capability
is achieved through the use of a
multicolored ribbon and a mecha¬
nism that controls which part of the
ribbon is in front of the print head
at any time. Although no software
is included with the printer to test
its color graphics, its use of standard
Epson bit image graphics control
codes makes custom programming
quite easy to do. However, a simple
screen-print utility would have been
a welcome (and impressive) addition
to the standard features of the Color
Graphics Printer. Alas.
Another impressive feature of
this printer is its print quality. The
printer will produce text compara¬
ble to that of the Epson FX-80 at 200
characters per second (see figure 1),
and by sending a control code (or
setting one of the DIP switches),
two other print-quality levels can be
September i984
NEW From The Makers Of pr'and "
The Unique Keyboard Utility with:
• ONLINE MACRO LISTING
(See a listing of your macros at any time - instantly!)
• ONLINE FULL SCREEN MACRO EDITOR
Create or Modify your macros from within your favorite software programs.
• USER DESIGNABLE HELP MENU CREATION
Quickly and easily create your own help menus that can be displayed within
your programs.
KEYSWAP 3.0 is the most advanced macro processor available for the IBM
PC, XT and COMPATIBLES! - Includes ALL OF PROKEY’S FUNCTIONS and
many more.
KEYSWAP 3.0 is the macro processor that can add a new dimension in
USERFRIENDLINESS to your PC.
WITH KEYSWAP 3.0 YOU CAN:
Record a series of complicated keystrokes used to invoke and set up a
program for data entry.
Condense many time consuming keystrokes into just one.
Create “lessons” that can be played back at variable speed for tutorial or
demo purposes.
Create a single macro definition as large as 64K.
Redefine any keys (I.e. shift) or define any macro character.
IMAGINE: Automatic time and date display; fixed and variable definition fields;
audible feedback on toggle keys; alternate cursor control selection, and
keyboard customization.
KEYSWAP 3.0 - State of the art keyboard utility software. For the
IBM PC, XT, and IBM COMPATIBLES.
PRICE: $119.00 (RETAIL)
+ 2.50 Shipping & Handling. MA res add 5% Sis. TX.
SPECIAL OFFER:
TRADE IN YOUR OLD MACRO PROGRAMS:
KEYSWAP (PER), PROKEY*, etc.
(Call or write for details)
RICKERDATA
P.O. Box 998, Melrose, MA 02176 (617) 662-0856
MC & VISA ACCEPTED
•Registered Trademark RoseSoft ** Registered Trademark IBM
J
CIRCLE NO. 150 ON READER SERVICE CARD
Printers
FUNCTION
EPSON FX-80
IBM GRAPHICS
IBM COLOR
BIT IMAGE GRAPHICS
8-pin graphics
ESC ♦ graphics__mode (0-6)
length word data.
9-pin graphics
ESC ® (0, 1} length word data.
High-density graphics
ESC Z length word data.
ESC Z length__word data.
DOWNLOADABLE
CHARACTER
SET CONTROL
Copy ROM fonts to download
ESC : NUL NUL NUL
area
Define download character
ESC & NUL data.
generator
Select internal/download
ESC& {0, 1} NUL
generator
FORMAT CONTROL
Automatic right justify
ESCM {0, 1}
Backspace
BS
BS
*Clear tabs
ESCR
Column width set
ESC Q number of characters
Left margin set
ESC 1 number of spaces
Margin set
ESC X left margin right margin
Set line spacing to n/72 inch
ESC An
ESC An
ESC A n ESC 2
0 <= n < = 85
Set line spacing to n/144 inch
ESC3n
Set line spacing to n/216 inch
ESC3n
ESC3n
Top of page set
ESC 4
Variable forward space n/120
ESC d n (2 bytes)
inch
Variable reverse space
ESC e n (2 bytes)
VFU channel select
ESC / channel (0-7)
VFU position set
ESC b channel (0-7)
positions. . NUL
INPUT DATA CONTROL
Bit 7 = one
ESC >
Bit 7 = zero
ESC ==
Bit 7 control cancel
ESC#
♦Clear buffer
CAN
CAN
CAN
Clear last byte in buffer
DEL
Control code character set select
ESC 7
ESC 7
Print characters above 128
ESC 6
ESC 6
Print characters below 32
ESC \ number of chars (2 bytes)
Print a character below 32
ESC °
Printer deselect
DC3
DC3
ESCQ2
Printer select
DCl
DCl
Undefined area as
ESC I {0, 1}
control/printable
MISCELLANEOUS
Aspect ratio set
ESCn {0, 1}
(0 = 5:6, 1 = 1:1)
Automatic ribbon hand shift
ESC a
Control value data type select
ESC® {0, 1}
Half-speed printing cancel/select
ESCs {0,1}
Immediates print cancel/select
ESCi {0, 1}
Initialize printer
ESC@
Initialize signal function set
ESC? {0, 1}
International character set select
ESC R character_set (0-8)
Ribbon band 1 select
ESCy
Ribbon band 2 select
ESC m
Ribbon band 3 select
ESCc
Ribbon band 4 select
ESCb
PAPER FEED EXECUTION
Forward feed n/144 inch
ESCf n
Forward feed n/216 inch
ESC J n_
ESC f n_
Reverse feed n/216 inch
ESC j n_
ESC j n_
Reverse feed one line
ESC]
PRINT MODES
Character set 1 select
ESC 7
Character set 2 select
ESC 6
Compressed mode select
ESC SI
ESC SI
Elite mode select
ESCM
ESC :
Elite mode deselect
ESCP
Enlarged mode select
ESC SO
ESC SO
Italic mode deselect
ESCS
Italic mode select
ESC 4
Print mode select
ESC ! print_mode (0-63)
Printing quality select
ESC I print quality (1-3)
Proportional spacing set/cancel
ESCp {0, 1}
ESCP {0, 1}
^compatible with IBM Compact Printer
Table 3: Functions DifEering among Epson FX-80, IBM Graphics, and IBM Color Printers
70
PC Tech Journal
"There’s no magic to usingyour
personal computer for data acquisition.”
There’s no trick to it.
It’s as easy as calling Data Translation.
So take your choice of our new single board
plug-ins and bring complete analog and digital I/O
capabilities to your personal computer.
Whether you’re working in laboratory
research or industrial process control, our single
boards can give you measurement and control
capabilities without having to spend big bucks.
And who knows that better than the lead¬
ing supplier of low cost data acquisition boards,
systems, and software?
Our boards include multi-channel A/D
with programmable gain, D/A, digital I/O, a pro¬
grammable clock and many have direct memory
access capabilities. With power and performance
to match your PC, our analog interfaces provide
12,14, or 16-bit A/D resolution and direct con¬
nection for high or low level signal inputs.
And these boards are easy to use. They
plug into the PC’s bacl^lane. No messy external
lx)xes or cables. User input connections are
simple with our compatible line of screw termi¬
nal panels for all of the PO capabilities.
And comprehensive user manuals with
DATA ACQUISITION FOR PC’S
12-BIT
12-BIT
DIGITAL
PROG.
SOFTWARE
A/D
D/A
I/O
CLOCK
LIBRARY
IBM PC ™
X
X
X
X
X
APPLE II™
X
X
Tl PROFESSIONAL™
X
X
X
X
X
DEC RAINBOW™
X
X
X
X
X
COMPAQ™ Portable
X
X
X
X
X
Fred Molinari, President
many programming examples get you up and running fast.
These easy to use, and easy to program boards are
highly reliable at a very low cost, and of course fully backed
by Data Translation’s service and support team.
So why look any further? No other analog TO systems
can offer PC users such quality,
power and performance for such
a reasonable price.
But you probably expected
that. After all, making data
tion easy is what we’re all about.
And that’s no illusion.
Call (617) 481-3700.
CIRCLE NO. 139 ON READER SERVICE CARD
Data Translation is the leading supplier
of personal computer hardware and software
for data acquisition and control.
See our
supplement in Gold
1984, Vol. Ill, and our 336 pg.
catalog/handbook in Gold
Book 1983.
EMlATRANSLAnON
World Headquarters: Data Translation, Inc., 100 Locke Dr., Marlboro, MA 01752 (617) 481-3700 Tlx 951-646.
European Headquarters: Data Translation, Ltd., 430 Bath Rd., Slough, Berkshire SLI 6BB England (06286) 3412 Tlx 849-862.
\BN\ PC is a registered trademark of IBM. Apple II is a registered trademark of Apple Computer Corp. Tl Professional is a registered trademark of Texas Instruments, Inc.
DEC Rainbow is a registered trademark of Digital Equipment Corp. COMPAQ is a registered trademark of COMPAQ Computer Corp.
Printers
chosen. The Text Quality mode
(figure 2) produces print only slight¬
ly better than the Epson; the Near
Letter Quality mode (figure 3) pro¬
duces text almost indistinguishable
from that of a typewriter. In this
mode, the print head makes two
passes over every line. This slows
the printer considerably, but the re¬
sults are well worth the wait. The
printer also has a proportional print
mode that can be used in conjunc¬
tion with any of the print modes.
The documentation included
with the Color Graphics Printer is
149 pages long, designed to be in¬
serted in the Guide to Operations. It
is complete, well-written, and in¬
cludes detailed information on
every aspect of the printer. The in-
DEVELOP BETTER SOFTWARE
FASTER
WITH AKdu«/i Scthuo/ici
PROGRAM
DEVELOPMENT TOOL
(PDT-PC)
for IBM-PC* and Compatibles
PDT-PC TRANSFORMS YOUR IBM-PC/XT INTO THE MOST POWERFUL
DEBUGGING AND ANALYSIS TOOL AVAILABLE FOR THE PC ENVIRONMENT:
• SYMBOLIC DEBUGGING AND ANALYSIS
• • LOCAL AND GLOBAL SYMBOLS
•• HIGH-LEVEL LANGUAGE LINE NUMBERS
•• FULL SYMBOLIC SUPPORT FOR OVERLAYS AND CODE MODULES
• SUPPORTS BOTH INTEL AND PC-DOS OBJECT MODULE FORMATS
• DISPLAY BUFFER TO RECALL UP TO 200 LINES OF INFORMATION
• INTUITIVE HUMAN INTERFACE
• REAL-TIME PROGRAM EXECUTION MEASUREMENT
• REAL-TIME MEMORY UTILIZATION MEASUREMENT
• STANDARD IN-CIRCUIT EMULATOR FEATURES
ONLY THE PDT-PC INTEGRATES A FULL-FEATURED DEBUGGER WITH AN 8088
EMULATOR AND PERFORMANCE ANALYSIS, PROVIDING A SINGLE ANSWER TO
YOUR MOST DIFFICULT SOFTWARE DEVELOPMENT PROBLEMS!!!
I\l/(AlVCfV 20863 Stevens Creek Blvd., B2-C, Cupertino, CA 95014
Corporation ^ ^
•IBM-PC is a registered trademark of International Business Machines Corporation
CIRCLE NO. 206 ON READER SERVICE CARD
stallation and operation sections
have many clear illustrations. Com¬
plete technical information, includ¬
ing a list of the printer control codes
and their functions, a chart explain¬
ing DIP switch settings, and a com¬
plete list of all printable characters
(the Color Graphics Printer can
print every symbol in the PC char¬
acter set), is provided. A quick refer¬
ence card would be a handy addi¬
tion to the documentation, consider¬
ing the complexity and flexibility of
the control code set.
The Color Graphics Printer is
supplied with a diagnostics package
identical to that included in the
Guide to Operations except that it
has been updated to test the Color
Graphics Printer, as well as the IBM
Matrix and IBM Graphics printers.
A complete replacement for the
Problem Determination Procedures
section of the Guide to Operations
is supplied with this software. Un¬
fortunately, the program tests only
the printer's ability to print text,
not graphics, in multiple colors.
Compatibility with Other
Epson and IBM Printers
Control code compatibility is a
major issue in designing printers.
IBM has chosen to maintain as
much compatibility as possible with
its earlier printers (which were
made by Epson and therefore used
Epson's control codes). By doing
this, IBM has ensured that software
authors will not have to rewrite
code entirely to make it work on
more than one IBM printer. This is
good for the programmer,- it is also
good for IBM, because it makes it
easier for software authors to sup¬
port IBM's printers (see my article,
"Epson Technical Comparison," PC
Tech Journal, September/October
1983, page 130, for more on printer
compatibility issues).
Table 1 lists all control codes
that can be used without modifica¬
tion on the Epson FX-80, the IBM
Graphics, and the IBM Color
Graphics printers. Functions that
72
PC Tech Journal
fcpoint encountered, CS’ IP:. .f1EMOfiY_TESTERI100
OP
R CODE OPERAND!S)
B JMP $+0082
10RY_TESTERI99-
D ADD WORD PTR IF5B2J.0040
;. .riEH0RY_TESTERI99
;.nEnADDR+0002
READ - DS
3 READ - DS - 10
I WRITE - DS - 40
3 WRITE - DS - 10
LOCAL UARIABLES OH THE STACK
JFFER : 09D3;0000 BUFFERLEHGTH -- 001F
BUFFER CONTENTS
SS:09D3 DS:09D3 ES:1000
SP:F580 SI:F5B8 DI:09D3
BP:F580
FL: 00 D0 II T0 S0 Z0 A0 P0 C0
0010
80 00 00
IA5
CS:0632
IFF
1P--01C2
106
100
s PC Probe Version X103
(OCopvright Atron Corp. 1983, 1984
ATRON Announces
A State of the Art Advance in
Source Level Software Debugging
PROGRAMMERS AND
MANAGERS know that finding bugs
during new product development and
over the entire product life cycle adds up
to a significant portion of total product
development cost and support time.
Investing in the right debugging tools will
greatly improve time to market as well as
minimize development cost. Atron Corp.
has the right debugging tools for the PC
environment. These are:
1) PC PROBE
2) SOURCE PROBE
3) PERFORMANCE ANALYZER
These tools run on a PC or compatible.
A Snapshot of Real Time
Program Execution
Program flow is saved in trace memory
while running at full speed. PC PROBE
can display trace data as high level
language source code or as 8088
instructions. Real time trace answers
the question “How did I get here”?
A Bullet of Proof Debugger
What good is a debugger that can be
wiped out by an undebugged program?
PROBE software is write protected and
can't be changed.
Trap Memory
The PC PROBE has 8 breakpoints and
can trap conditions such as instruction
execution, read, write, 10, DMA. interrupt,
or external logic probes. Breakpoints can
also be set on ranges of address or
data — symbolically too!
Don’t Look in the Manual
The PC PROBE designers know the
importance of EASE OF USE. The PC
PROBE interface has a menu window
which displays the syntax of each
command — so you never have to
remember how a command works. It also
recalls the previous invocation of each
command to save tedious typing — and
tedious thinking!
Symbolic Debugging
Avoid the tedium of sifting through link
maps to find out where things are. The
PC PROBE uses your C. PASCAL, or
assembly language program symbols.
Macro Commands
Why be limited by a fixed set of de¬
bugging commands? PC PROBE lets you
create your own powerful macro
commands with parameter passing, nest¬
ing. LOOPING and IF/THEN/ELSE
control.
ANNOUNCING
SOURCE PROBE
Why waste time with a debugger which
shows your C or PASCAL programs in
8088 assembly language. Atron’s new
SOURCE PROBE let’s you step, real time
trace, and edit your Hi Level source code
during debug. Display data structures in
the format which your program uses.
PERFORMANCE
ANALYZER
How do you find time critical program
problerris or know where to start
performance tuning your software? Get
Atron’s new Software Performance and
Timing Analyzer. Then you can display
historgrams of how your programs run —
by time or by events. You can perform
many different timing measurements.
Atron has many happy customers who
have made critical product schedules
because of PC PROBE. Why waste time
on primitive debugging techniques? —
Call us today and ask for your 12-page
data sheet.
20665 FOURTH STREET • SARATOGA, CA 95070 • (408) 741-5900
CIRCLE NO. 107 ON READER SERVICE CARD
SS 3 HS
oftefs
the
CO^-P^BOO^!’
'^ccT 80®^ ^ -^nle,
Busf^
tists -
auge
esspeoPL®s
®who
iei» •^cient'S^"’onvone our
» 5 i%sr# 35 ’
spe®^, QoraP®^iJes 6® ^o^ratio^a '^
tod^V ^1, nfovid -y op^f ^
Mat" fwgh aaffuWracfas
addiV?:®'n sq^a^® Qpential
e cu^- ^** the 8°®^
qoui' 9® ,ice 0^
librarians the ® pjp, we
ExP®[! process®^ d acc®J.||fation
NaP’®/«nsiveiV i®fh^pak-
SiaS-|?feC"tran
sSH„r8^trfa-""^
tions- jpst^ll
pent MatP Pl'forthe 1B^^
curse!)-,
the
coif*
IBM jfjf'%^
^®SoN: Higr’
the.
Math.
intertap?.,
The SOSjj^g Library
cludihPn d'''''®'metric.
a''?“H3uPP|i;VaPa|,TBANa"J
•S^ruPrarv'o'
The,
8087
MalP /pascal the
the IB!^
■&fTBAN UagV^rv fo-
FOB/Macro L'i:,pr . _ , on®
ibm
,,,s.
. $ 175 ;
f T.<S;,:„g.loa '« ,180.
"•""^TWABE P**; agd s<.a'«
«7 SOP^'':rall
? DisK^"* ”" ,„st™=a°;;u
' r">f saCa'a UP-'' ,,45.
and Matt;
•’hier The 8^5 do a®'
mhia';,rnararas^j^an-
B^^rO Assea"^e• nfogr^'g advaa;
f^e o' 'pa !° NOW,^"lPaniPUia^ASIC. f
goftwara
£re a? f°
will pa ^.LU0,||„>VoRfB»
IBM ,
rripie*®
the "P"-,g op®^‘
CO '
g,SS 5 '
aPfpSpaooi
Micro
Sourc®
13029
on'''»^""'",5.560-3W7
„ bbao;
X3
613
-829
1-9165
K^anaW.
805^
THe/*®yi'„,4.the
»th r^1- N°"|J!i7 ApV**'°"*
«V.ol. •»«”•"'
Start**
CIRCLE NO. 145 ON READER SERVICE CARD
Printers
FUNCTION
BIT IMAGE GRAPHICS
ASCII CODE
* Low-density graphics
FORMAT CONTROL
ESC K length_word data.
Clear tabs
ESCR
*Form feed
FF
♦Horizontal tab
HT
♦Horizontal tab set
ESC D positions. . NUL
♦Set form length in lines
ESC C number of lines
♦Vertical tab
VT
♦Vertical tab set
INPUT DATA CONTROL
ESC B positions. . NUL
♦Clear buffer
LINE SPACING
CAN
♦Set line spacing to 1/9 inch
(1/8 inch on other printers)
ESCO
♦Set line spacing to 1/9 inch
(1/12 inch on Color,- 7/72 on others)
ESC 1
♦Set line spacing to 1/6 inch
MISCELLANEOUS
ESC 2
♦Carriage return
CR
♦Null
NUL
♦Print left-to-right for one line
PAPER FEED EXECUTION
ESC <
♦Line feed
LF
♦Perforation-skip mode cancel
ESCO
♦Perforation-skip mode set
ESC N number of lines
Set automatic linefeed mode
PRINT MODES
ESC 5
♦Compressed mode cancel
DC2
♦Compressed mode set
SI
♦Enlarged mode cancel
DC4
♦Enlarged mode set/cancel
ESC W {0, n
♦Enlarged mode set
SO
♦Underlined mode set/cancel
ESC-{0,1}
^compatible with Epson FX-80, IBM Graphics, and IBM Color printers
Table 4: Functions Available in the IBM Compact Printer
will also work on the PC Compact
Printer are clearly marked. Table 2
lists functions that cannot be used
on all three printers; table 3 lists the
subset of functions available on the
PC Compact Printer. All but two of
these codes are compatible with the
Epson FX-80, IBM Graphics, and
IBM Color Graphics printers.
The Color Graphics Printer has
all the major features of the Epson
FX-80 save one: character sets that
can be downloaded. Except for this,
the Color Graphics Printer builds
upon the functions of other print¬
ers, with new codes to control rib¬
bon bands and print quality.
The control-code set of the PC
Compact Printer, on the other hand,
is a stripped-down version of that
used in earlier Epson and IBM
printers. The PC Compact Printer
can handle all of the important text¬
handling functions of other printers
and has low-density graphics as
well, but its repertoire does not ex¬
tend far beyond this.
Two Markets Addressed
Both the PC Compact Printer and
the Color Graphics Printer address a
specific part of the printer market¬
place. The PC Compact printer is
designed for home use, and is there¬
fore less expensive and less capable
than other printers. The Color
Graphics Printer, on the other hand,
is designed with quality (and color
graphics) in mind, and is best suited
for business and professional use.
IBM has attempted to maintain con¬
trol-code compatibility with its
other printers, and although it sacri¬
ficed some with the PC Compact, it
has been largely successful. I"'!—i
IBM PC Compact Printer: $175
IBM Color Graphics Printer: $1,995
IBM
P.0, Box 1328
Boca Raton, FL 33432
(800-447-4700)
CIRCLE 500 ON READER SERVICE CARD
My Programs Always
Compile the FirsTime™
Yours can too!
FirsTime is an intelligent editor that
knows the rules of the language being
programmed. It checks your statements
as you enter them, and if it spots a mis¬
take, it identifies it. FirsTime then posi¬
tions the cursor over the error so you
can correct it easily. FirsTime mill iden¬
tify all syntax errors, undefined varia¬
bles, and even statements with mis¬
matched variable types. In fact, any
program developed with the FirsTime
editor will compile on the first try.
Unprecedented
FirsTime has many unique features
found in no other editor. These powerful
capabilities include a zoom command
that allows you to examine the struc¬
ture of your program, automatic pro¬
gram formatting, and block transforms.
If you wish, you can work even faster
by automatically generating program
structures with a single key-stroke. This
feature is especially useful to those
learning a new language, or to those
who often switch between different
languages.
Other Features: Full screen editing,
horizontal scrolling, function keys
labeled on screen, help screens, inserts,
deletes, appends, searches, and global
replacing.
Programmers enjoy using FirsTime,
because its powerful features allow
them to concentrate on the program
logic without having to worry about cod¬
ing details. Debugging is reduced dram¬
atically, and deadlines are more easily
met.
The Spruce FirsTime editor is imme¬
diately available for PASCAL ($245)
and C ($295) on the IBM Personal
Computer and its compatibles. A dem¬
onstration disk is available for $25. (N.J.
residents please add 6% sales tax.)
For programs that compile the
FirsTime.
To order, call or send check to;
Spruce
Technology Corporation
110 Whispering Pines Drive
Lincroft, N.J. 07738
(201) 741-8188 or (201) 663-0063
Dealer enquiries welcome. Custom versions
for computer manufacturers and language
developers are available.
FirstTime is a trademark of Spruce Technology
Corporation.
CIRCLE NO. 132 ON READER SERVICE CARD
September i984
75
Everything yen need
SOFTWARE
ApTec (for color Prism Printers)
Rainbow Writer Color Text Formatter . .$119.
Rainbow Writer Screen Grabber . 69
Ashton Tate
dBase II. 289
dBase III. 375
Upgrade (dBase II to dBase III) . 139.
Framework. 375.
Friday!. 169
Reference Encyclopedia (book) . 55
Best Programs
PC/Personal Finance Program . 65
PC/Professional Finance Program II .,. 169
PC/Fixed Asset System . 297
PC/Tax Cut. 175
Bible Research
THE WORD fKJt/e/b/e - 7 d/sks; ... 145
Bruce & James
Word Vision. 39
Digital Research
CP/M-86 . 39.
Dr. LOGO (requires 192k & RGB monitor) 69.
Financier
Financier II. 115.
Financier Tax Series. 97.
Funk Software
Sideways. 45.
Lifetree
Volkswriter. 115.
Volkswriter International. 135.
Volkswriter Deluxe (with TextMerge ). .. 175.
Lotus Development
1-2-3 (version 1 A) . call
Symphony. call
Upgrade (1-2-3 to Symphony) . call
Micropro
WordStar & ProPak come with quick lesson
CAI training disk and tutorial disk
WordStar 3.3 . 235.
ProPak (WordStarIMailMergel
CorrectStar/StarIndex) . 359.
Microrim
Ribase 4000 . 297.
Extended Report Writer. 89.
Clout. 129.
Microsoft
Multiplan fver 7.2j. 139.
Microsoft Word (ver 1.1) . 239.
Microsoft Word with mouse (ver 1.1) .. 289.
Microstuf
Crosstalk XVI. 105.
Transporter (includes Crosstalk) . 169.
PCsoftware
PC Crayon II (new release) . 39.
Executive Picture Show. 139.
CREATABASE.see special
Peachtree
PeachPak Series 4 (G/L, A/R, A/P)
new version, IBM manuals . 195.
Peter Norton
Norton Utilities. 55.
Satellite Software
WordPerfect . call
Software Publishing
PFS/Access. 63.
PFS/File. 89.
PC Connection
Software Special
through September 31, 1984
We’re so confident you'll be pleased with
these programs, that we're offering to
buy them back if you return them within
30 days.
PCsoftware
Championship Blackjack
• Realistic casino action
• Works on monochrome display or in
full color on TV/RGB
• Up to 6 players (including your PC)
• Can be used for fun or to learn point
count statistics . $19.
CREATABASE
One of the few databases chosen by
PC Magazine’s "Project Database Re¬
view" (June 12, 1984) as “Would Buy".
Quoted as, "...should be the first file
management system a PC owner
buys." You can design your own
screen and report layouts. $39.
PFS/Graph . $89.
PFS/Write . 89.
PFS/Report . 79.
Softword Systems
MultiMate (w/spell checker & tutorial). .. call
Sorcim
Supercalc 3 . 199.
Virtual Combinatics
Micro Cookbook . 29.
Warner Software
The Desk Organizer . 197.
TRAINING
ATI
How to use Lotus 1-2-3 (volumes 1 & 2) 55.
How to use Wordstar (volumes 1 & 2).. 55.
How to use dBase II (volumes 1 & 2) .. 55.
How to use EasyWriter II . 55.
How to use Multiplan . 55.
How to use Your IBM-PC . 55.
How to use MultiMate . 55.
How to use Microsoft Word . 55.
How to use PC DOS . 55.
How to use TKI Solver . 55.
Individual Software
The Instructor . 35.
Professor DOS . 47.
Tutorial Set (both items above) . 75.
Professor Pixel . 47.
Typing Instructor . 39.
Scarborough Systems (was Lightning)
Master Type . 35.
EDUCATIONAL
Davidson
Speed Reader II (high school & college) 49.
Math Blaster (grades 1-6) . 35.
Word Attack (grades 4-12) . 35.
FriendlySoft
FriendlyWare/PC Introductory Set 35
Stone (requires graphics board)
Great graphics and sound
My Letters, Numbers, Words (ages 1 to 5j 29
Kids Stuff (ages 3 to 8) . 29
Across the U.S.A. (ages 5 & up) . 22
GAMES
Atarisoft
Centipede . $29.
Pac Man . 29.
Dig Dug . 29.
Defender . 29.
Donkey Kong . 29.
Biue Giant
Hoser . 25.
Broderbund
Apple Panic . 23.
Lode Runner . 25.
Funtastic
Snack Attack II (a favorite) . 27.
Cosmic Crusader (as good as above). . 27.
Big Top (climb to new levels) . 29.
Master Miner (1 or 2 players) . 29.
Hayden Software
Sargon III. 35.
Microsoft
Flight Simulator (new version) . 35.
Orion
J-Bird . 29.
PC-MAN . 27.
Paratrooper . 25.
Pits & Stones . 29.
Sir-Tech
Wizardry . 42.
Sublogic
Night Mission Pinball . 29.
HARDWARE
AST Research (For IBM-PC or XT)
All AST Boards come with Super Drive.
SuperSpool, and one year warranty.
SixPakPlus 64k upgradeable to 384k. with
clock calendar, serial and parallel ports
(game port optional) . 269.
MegaPlus ll_64k upgradeable to 256k (or
more with MegaPak) with clock calendar
and serial port (parallel, game, or second
serial port optional) . 269
M egaPak 128k (not upgradeable) . call
MegaPak 256k . call
I/O Pl us li with clock calendar and serial
port (parallel, game, or second serial
port optional) . 129.
Parallel. Game, or se c ond Serial Po rt
for any AST board (specify board) . 39.
Connectall connector bracket (PC only) .19.
AST-525J . 559.
ASI-3780 . 649.
MonographPlus with clock calendar, serial &
parallel ports ... 429.
Amdek
Video 300G Monitor (green) . 149
Video 300A Monitor (amber) . 159
Video 31OA Monitor (amber) . 179
Color II RGB Monitor . 399
CompuCabie
Plastic Keyboard & Drive Cover Set 17
* DEFECTIVE SOFTWARE REPLACED IMMEDIATELY. DEFECTIVE HARDWARE REPLACED OR REPAIRED AT OUR DISCRETION SOME ITEMS H.AVE WARRANTIES UP TO FIVE YEARS,
e COPYRIGHT MICRO CONNECTION. INC. 1984 ALL ITEMS SUBJECT TO AVAILABILITY PRICES SUBJECT TO CHANGE WITHOUT NOTICE IBM IS A REGISTERED TRADEMARK OF IBM CORP
MICRO CONNECTION IS A TRADEMARK OF MICRO CONNECTION, INC. PC CONNECTION IS A REGISTERED TRADEMARK
to addon and dive in
IBM Mono Screen Enhancement . $17
Printer to IBM Cable (specify printer) ... 32.
Smartmodem to IBM Cable . 25.
Curtis
Low Profile Tilt & Swivel Pedestal
(for any monitor) . 44.
PC Pedestal (for IBM Mono or Color). .. 55
PCS or Quadchrome display adapter .. 9.
System Stand (holds PC vertically) . 21.
Extension Cables for IBM Mono Display 40.
Keyboard Extension Cable (3 to 9 feet). 32.
AC Plug Adapter (any monitor to your PC) 8.
Epson
RX-80 with GRAFTRAX-Plus . call
RX-80 FfT with GRAFTRAX-Plus . call
FX-80 with GRAFTRAX-Plus . call
RX-100 with GRAFTRAX-Plus . call
FX-100 with GRAFTRAX-Plus . call
LQ 1500 (letter quality dot matrix) . call
Printer to IBM Cable (specify printer ) ... 32.
Hayes
Smartmodem 300 . 209.
Smartmodem 1200 . 489.
Smartmodem 1200B (wISmartcom II) . 409.
Smartcom II . 99
Compucable's Smartmodem-to-IBM Cable
. 25.
Hercules Computer
Hercules Graphics Card (parallel port) . 339.
Hercules Color Card (parallel port) _ 179
IDS
Prism 80 Printer (v/ith all four options) . 1397.
Prism 132 Printer (v/ith all four options) 1597.
Prism to IBM Parallel Cable . .. 32.
key tronic
Deluxe keyboard (KB 5151) see special
Koala
Koala Touch Tablet v/ith software
(connects to game port) . 89
Kraft
Joystick. 39.
Maynard Electronics
Floppy Drive Controller . 165.
Internal Hard Disk (10 Meg), WS-1 Controller
& ROM for PC mother board . 989.
Internal Hard Disk (10 Meg), WS-2 Controller
& ROM for PC mother board . 1169.
Mouse Systems
PC Mouse (w/software & desk pad). .. 197.
NEC
Spinwriter 3550 (IBM-PC compatible) . 1679.
Spinwriter 2050 (3550's little brother) .. 869.
Orchid Technologies
All Orchid Boards come with PCnet Drive
(Ram disk). PCnet spool (print spooling),
disk caching & partitioning.
Blossom Ok or Blossom 64k upgradeable
to 384k, with clock calendar, serial and
parallel ports . call
PCnet Daughter Boar d (piggybacks to
Blossom) with version 2.4 networking
software . call
Paradise Systems
MultiDisplay Card (color & mono) 379.
Plantronics/Frederick
COLORPLUS (wIColor Magic) .... call
PC Connection
Hardware Special
through September 31, 1984
key tronic
Deluxe 5151 keyboard
• Typewriter keyboard
• Has separate cursor and numeric
keypad (makes work with spread¬
sheets much easier).
• Has indicators on numlock, capslock,
and cursor pad LED key.
• Function keys are located at top of
keyboard along with 2 new keys
(pause and reset). $175.
LIFE IN THE PC FAST LANE
Our goal is to have what you want when you
want it. On those rare occasions when we tell
you we’re out of stock, it means one of several
things. The manufacturer is out of stock. A
new, favorable review has created heavy de¬
mand. An announced product is still unavail¬
able. Or, an updated version of the product is
on the way, and we have no intention of selling
an about-to-be-obsolete product (even if it
means losing a sale). Whatever the reason,
rest assured we’ll give as firm an availability
date as possible.
OUR POLICY
• We accept VISA and MASTERCARD.
• No surcharge added for charge cards
• Your card is not charged until we ship.
• No sales tax.
•All shipments insured: no additional charge.
•Allow 1 wk. for personal & co. checks to clear.
• COD max. $500. Cash or certified check.
• 120 day guarantee on all products.★
•To order, call us anytime Monday thru Friday
9:00 to 9:00, or Saturday 9:00 to 5:30.
SHIPPING
Continental US: For monitors, printers, and
drives, add 2% to all orders. For all other items,
add $2 per order for UPS surface, $3 per order
for UPS 2nd-Day-Air. We particularly
recommend 2nd-Day-Air if you live west of the
Mississippi or south of Virginia. In most cases it
will only add $1 to your cost and will save you
up to four days on delivery time. UPS Next Day
Air also available Outside Continental US:
We add freight charges to credit card pur¬
chases. For prepayment, call 603/446-3383
for information.
1 - 800 / 243-8088
PC Connection 285T
6 Mill St.. Marlow. NH 03456
603 / 446-3383
For the IBM-PC Exclusively.
CIRCLE NO. 182 ON READER SERVICE CARD
Princeton Graphics
HX-12 RGB monitor (690 x 240)) . call
SR-12 RGB monitor (690 x 480) . call
MAX-12 Amber monochrome monitor .. call
Quadram
We are a full line Quadram Dealer
New Expanded Quad board 64k
expandable to 384k. with clock calendar,
parallel, serial & game port, I/O bracket,
and Quadmaster software. $269.
Microfazer Printer Buffer (parallel) w/copy
MP 64 (64k) upgradable to 512k . 197.
Quadcolor I . 197.
SMA(Systems Management)
PC-Documate Keyboard Templates
available for:
DOS/Basic 1.1
DOS/Basic 2.0
Lotus 1-2-3
dBase II
Easywriter II
Wordstar ...
TG
Multimate
Multiplan (IBM)
Multiplan (Microsoft)
Peachtext 5000
Volkswriter
.(each)12.
Joystick . 45.
USI (monitors for graphics board)
Pi-2 Monitor (12“ green, with cable) ... 119.
Pi-3 Monitor (12" amber, with cable) .. 129.
DRIVES
All drives are completely pre-tested. Specify
Drive A or Drive B for your PC. Comes with
complete step by step installation instructions.
Drives are 320K/360K.
Tandon
TM 100-2 (5 Va") full-height drive (DS.DD) 199.
TEAC
FD-55B (5 Va^) half-height drive (DS.DD)
Free y cable & bracket with each pair. 169.
MEMORY
64k Memory Upgr a de Set for IBM-PC or
XT system board.. ’. 59.
64k Memory Upgrade Set for any memory
board specify make of board . 59.
Install memory upgrades & run diagnostics
at time of board purchase only . 10
DISKS
Verbatim (with 5 year guarantee)
Datalife Disks SS/DD plastic box of 10 .. 23
Datalife Disks DS/DD plastic box of 10 .. 33
Disk Drive Analyzer.25
Flip Sort (holds 75 disks) .19
INFORMATION SERVICES
Compuserv
Compuserv Information Service
includes subscription manual, 5 hours of
connect time, & monthly publications ... 29
Source Telecomputing
The Source (subscription & manual) .... 59
Put the Power
ofthelBM PC
Bus into\bur
OEM Svstem
ISus
SYSTEMS
9235 Chesapeake Drive
San Diego, CA 92123
IBM PC is a trademark of IBM Corporation
NEW Single Board
Bus System
The power of the IBM PC is
now available to OEM system
designers with the new I-Bus
Single Board Computer
and Enclosure
systems. Now you
can make use of
that vast array of
PC-compatible
expansion cards—
for communications,
graphics, data acqui
sition, peripheral
control, and every
other imaginable task.
I-Bus Systems has
packaged Intel’s powerful
new 80188 CPU into a Single
Board Computer. It has
64K of RAM and up to 160K
of ROM on board, plus a serial
console port to talk to a terminal
or a PC. Just plug the SBC into an
I-Bus 6-slot chassis or 9-slot card
cage and you have the heart
of a computer system,
ready to run.
then download them to the I-Bus
system for dedicated execution.
You’ll have the best of both
the PC world and the
OEM bus-structured
world with this new
single board computer
from I-Bus.
For all the details,
give us a call today
at (800) 382-4229.
In California, call
(619) 569-0646.
Then
just add any of
the hundreds of PC bus
cards already on the market, to
customize your system.
Modular PC bus packaging matches your
system needs, from basic cage to complete
enclosure system. Internal 40 W power supply
with 6-slot enclosure, external supply for the
9-slot.
Best of all, the IBM PC works
perfectly as a software develop¬
ment system. You can assemble
and test applications
programs on the PC,
CIRCLE NO. 277 ON READER SERVICE CARD
EPSON.COM simplifies printer initialization
Douglas Ritari
One such solution is provided by EPSON.
COM, a small, efficient utility program that,
in addition to being easy to use, is only 281
characters long (see listing 1). The program was
designed around the Epson MX-80 command
protocol, because of the Epson's widespread
popularity and near-compatibility with the
IBM graphics printer. It will work with any
printer, however, because of a hexadecimal
input mode that allows any set-up character
sequence to be sent to any printer. See table 1
for a summary of the segments, groups, and
symbols used in the EPSON.COM program.
Douglas Ritari is an information resource manager for
St. Paul Fire and Marine Insurance Company in St. Paul.
He functions as a systems analyst who specializes in
microcomputers and office automation.
U sers of the IBM PC are blessed by having
access to the variety of sophisticated
printing features offered by the new intelli¬
gent dot-matrix printers. Many different print
fonts and densities are available. Few of the
printers offer an easy method of switching to
these different control modes, however,- conse¬
quently, many of the optional fonts that are
available are used only infrequently.
The most common way of initializing a
computer printer is through the use of the
BASIC/BASICA language on the PC. These
programs take up considerable space on a dis¬
kette (15,000 to 25,000 characters—especially
if they are put only on diskettes) and are not
easy for an inexperienced person to use.
Clearly a better solution is needed.
September i984
79
EPSON.COM
Program Operation
The simplest way to activate the
program is to type ''EPSON/' When
no optional parameters are entered,
the printer is set for the double¬
strike and emphasized-print font. In
my opinion, this font produces the
best near-letter-quality print that
Epson-compatible printers can pro¬
duce. Optional parameters that may
be entered (by typing EPSON E T,
for example) are
E— Emphasized printing (char¬
acters are thicker than
usual)
D—Double-strike printing
(each character is printed
twice in the same place)
I— Italics
W— Wide-character printing (5
char/inch)
C— Compressed-character print¬
ing (17.16 char/inch)
T— Top-of-form command (ad¬
vances the paper to the top
of the next logical page on
almost all printers)
R— Resets the printer to its
power-up state (resets logi¬
cal top-of-page; eliminates
the need to turn the printer
off and on to reset)
U— Unidirectional printing (the
print head prints only from
left to right, instead of in
both directions; (although
slower, this produces the
best appearance)
/xx/— Hexadecimal input mode
("xx" represents paired hex¬
adecimal numbers that are
sent directly to the printer
as is, no spaces allowed)
All other characters are ignored;
spaces between parameters are op¬
tional (except in the hexadecimal
mode) with upper- and lower-case
letters being permissible. The Epson
can understand a greater number of
commands than this, but the list in¬
cludes most of the common ones.
Creating the Program
This program is intended to be as¬
sembled and run as a "COM" file
using any PC-compatible assembler.
COM programs are designed to run
within one segment and do not in¬
clude a stack segment. Because
there is no stack segment, a warning
message will be generated by the
linker when the program is run;
don't be concerned about the mes¬
sage, as this is normal when a COM
program is generated.
After linking the program using
the DOS LINK command, name it
EPSON.EXE. Now run the IBM
W hen no optional
parameteis are
entered, the
printer is set for the double-
strike and emphasized-
print font. In my opinion,
this font produces the best
near-letter-quality print
that Epson-compatible
printers can produce.
EXE2BIN command, which con¬
verts appropriately prepared .EXE
files to .COM format. After
EXE2BIN has been run, the disk
directory will contain a file named
EPSON.BIN. Simply rename this
file to EPSON.COM.
The .COM format, rather than
the .EXE format, was used to reduce
the program's size. The original ver¬
sion, which was an .EXE file, was
over 1000 characters long.
How It Works
The general logic of the program
follows these steps:
1. Save the contents of the DS regis¬
ter onto the stack to return con¬
trol to DOS when the program
completes (lines 34-37).
2. Set up the Indexing registers DI
and SI for movement of the pa¬
rameters entered from the Pro¬
gram Segment Prefix (PSP),
which is located at offset 80H
(lines 41-45).
3. Check the character count of the
parms that were entered. If the
count equals zero, no parms were
entered. Jump to the default rou¬
tine and send the printer the
control codes for double strike/
emphasized print (lines 49-53).
4. If the program has reached the
SEAR procedure, parms were en¬
tered (or perhaps an extra space
character was entered after the
EPSON command). Examine the
parm character and see if it was
entered as a lower-case letter. If
so, reduce its value by 32 to con¬
vert it to upper-case. Now begin
comparing this parm character to
the program options. If it is a "/"
character, toggle the hexadecimal
switch to send all valid hex char¬
acters directly to the printer un¬
til another "/" is found. If the
parm is an E-D-C-T-R-I-U-W,
jump to the appropriate routine
to process this code. This routine
continues until the count of
parm characters reaches zero.
The program then jumps to
PGMEND and ends (lines 65-88).
5. The PGMEND (program end)
procedure will sound the print¬
er's bell if unpaired hexadecimal
parms were entered. It also tests
to see if anything was printed
during the program. If not, the
DEFAULT routine sends empha¬
size/double strike. Then a return
command is executed to return
control to DOS (lines 152-172).
6 . The PASTHRU routine (lines
99-108) is used in conjunction
with the HEXMATH subroutine
(lines 199-210) to convert and
process parms into hexadecimal
numbers.
7. The ESCAPE subroutine is used
to send the escape character IbH
to the printer. Most of the prede¬
fined codes are initiated by send¬
ing first the escape character and
then the appropriate one or two
digits to do the print mode setup
(lines 176-183).
8 . The PRINTER subroutine is the
only routine in the program
80
PC Tech Journal
that actually sends codes to the
printer. When control passes to
PRINTER, all the work has been
done; the character to be printed
is already in the AL register. The
DOS interrupt 17H is then called
to process the print request.
Note-, there is no check to see if
the routine actually worked.
However, if the printer is off¬
line, no message to confuse in¬
experienced users will be gener¬
ated. The program will not crash
the system (lines 189-195).
9. Finally, the PARM_E through
PARM_W routines (lines 112-
146) process the predefined
Epson parms into appropriate
control codes. Note that the con¬
trol codes are "hard-wired"' into
these routines instead of being
placed in a common data area.
Again, this was done to save
space and to cut down the pro¬
gram size; it is not difficult to
change if the user wants to cus¬
tom configure this program for
another printer.
Using the Program
Use of the EPSON command is
fairly straightforward if considera¬
tion is given to a few idiosyncrasies
of the Epson printer and to the
housekeeping activities of certain
programs. First, be aware that cer¬
tain printing modes are incompati¬
ble with one another—for example,
trying to use emphasized and com¬
pressed type simultaneously with an
Epson printer will result in empha¬
sized font only. The EPSON.COM
program cannot help out here, as
the printer has the final say on
what it will and will not accept.
If in doubt as to which print
mode is currently operational, do a
reset (parm R) before issuing new
control codes. Consult the owner's
manual for these and other precau¬
tions if problems are encountered.
Another problem that might be
encountered with certain pro¬
grams—VisiCalc, for example—is
that when the user goes to the
YOUR CODE MAY BE WASTING ITS TIMEI
THE PROFILER™ CAN HELP . . .
• Statistical Execution Profiler • Time critical code optimization
• Works with any language • Abnormal code behavior tracking
• Completely configurable • Graphic presentation of results
• Up to 16 partitions in RAM/ROM • Easy to use menu interface
THE PROFILER is a software package which gives you, the programmer, a powerful
tool for locating time consuming functions in your code and allows you to performance
tune your program. With the THE PROFILER you can determine where to optimize
your code for maximum benefit, then measure the results of your efforts.
Using THE PROFILER, you can answer questions like:
Where is my program spending its time?
Why is my program so slow? What is it doing?
Is my progam I/O bound? CPU bound? Are data buffers large enough?
How much improvement did my changes make?
THE PROFILER is completely software based and consists of a system resident driver
and a monitor program. The memory partitions can range from 1 byte to 1 megabyte
in size and can be anywhere in the address space.
NO ADDITIONAL HARDWARE IS REQUIRED!
Requires an IBM PC or compatible system with a minimum
64k and one drive.
THE PROFILER is available for $175.00 from DWB
Associates or ask your software dealer. To order or for
more information, call or write DWB Associates. VISA/MC
accepted. Dealers welcome.
IBM is a trademark of IBM Corp. MSDOS is a trademark of Microsoft Corp.
THE PROFILER is a trademark of DWB Associates.
CIRCLE NO. 216 ON READER SERVICE CARD
CopyWrite
backs up all
IBM PC Software.
There are no exceptions. Copy-protected software is copied
readily. CopyWrite needs no connplicated parameters.
Requirements:
IBM Personal Computer or XT.
64k bytes of memory,
one diskette drive.
CopyWrite will run faster with more
memory or another drive.
CopyWrite is revised monthly, to keep up with the latest in copy
protection. You may get a new edition at any time for a $1 2 trade
in fee.
CopyWrite is available at a price of $50 US funds from:
Quaid Software Limited
620 Jarvis Street, Suite 2412
Toronto, Ontario, Canada M4Y 2R8
Telephone (416) 961 -8243
00
dwb
Associate s
P.O. Box 5777
Beaverton, Oregon 97006
(503) 629-9645
September i984
CIRCLE NO. 194 ON READER SERVICE CARD
81
EPSON.COM
Segients and groups:
N a • e
Size
align
coibine class
HAIN.
0219
PARA
PUBLIC
’CODE’
Syibols:
N a • e
Type
Value
Attr.
BELEND ....
L NEAR
OIBC
HAIN
DEFAULT. . . .
L NEAR
01D5
NAIN
DIGITS ....
L BYTE
0106
HAIN
ESCAPE ....
N PROC
OlEl
HAIN
Length =000B
HEX.
L BYTE
0107
HAIN
HEXHATH, . . .
N PROC
01F9
HAIN
Length =0020
HATH2.
L NEAR
020C
HAIN
PARH.
L BYTE
0108
NAIN
PARH C . . . .
L NEAR
0188
HAIN
PARH D . . . .
L NEAR
0181
HAIN
PARH E . . . .
L NEAR
017A
HAIN
PARH I . . . .
L NEAR
019D
HAIN
PARH R . . . .
L NEAR
0195
HAIN
PARH T . . . .
L NEAR
018F
HAIN
PARH U . . . .
L NEAR
01A4
HAIN
PARH H . . . .
L NEAR
OIBO
HAIN
PASTHR2. . . .
L NEAR
0175
HAIN
PASTHRU. . . .
L NEAR
0165
HAIN
PSHEND ....
L NEAR
01C6
HAIN
PRINTER. . . .
N PROC
OlEC
HAIN
Length =000D
SEAR.
L NEAR
0124
HAIN
SEARBX ....
L NEAR
015A
HAIN
SEARCP ....
L NEAR
012E
HAIN
SEAREN ....
L NEAR
015C
HAIN
SIXTEEN. . . .
L BYTE
0104
NAIN
SSTART ....
L NEAR
0109
HAIN
START.
F PROC
0100
HAIN
Length =00E1
SNITCH ....
L BYTE
0103
NAIN
TESTPR ....
L BYTE
0105
HAIN
TOGGLE ....
L NEAR
015F
HAIN
Naming Severe
Errors Errors
0 0
TIHE==> 19:25:29.96
Table 1: Segments, Groups, and Symbols Used in EPSON.COM
dBASE ir&iir
PROGRAMMERS
*WhyusedFLOW?
‘PROGRAMMER:
dFLOW your sophisticated and/or
lengthy source code and have hard-to-
discover typos and logic mismatches
uncovered in seconds.
‘PROFESSIONAL:
Free your time for billable and
interesting projects by having
dFLOW catch basic coding er¬
rors during system develop¬
ment.
YOU WILL BE AMAZED AT THE SPEED
AND PRECISION OF dFLOW
PRICE $50: WALLSOFT SYSTEMS INC.
233 Broadway, Suite 869 New York, NY 10279
MC/VISA Phone: (212) 406-7026
® REGISTERED TRADEMARK OF ASHTON • TATE
CIRCLE NO. 164 ON READER SERVICE CARD
menu option to print something,
the program resets the printer. This
effectively wipes out any control
codes that may have previously
been established. Again, the EPSON
command will not help in this case.
Examples
Word processing can serve as an ex¬
ample of the use of EPSON.COM.
Assume that a user wants to pro¬
duce a document in italics. He's also
a little concerned about producing a
82
PC Tech Journal
■■ I
mrmmnr^miv^
■I m li k ^ I' 4
mL.^:2ULm^AJk.:3m
INDEPENDENT STDRE IN NYC DEDICATED
TD IBM* PC SDFTWARE AND PERIPHERALS ONLY
BY APPOINTMENT WE DEMONSTRATE MOST OF THE PRODUCTS WE SELL.
STORE HOURS: 9:00 A.IVI.-5:30 P.M. E.S.T. MON.-FRI.
Saturdays closed for months of July, Aug., Sept.
Terms, conditions and prices differ in our store.
PC LINK, CORP. 29 WEST 38TH ST. 2ND FL., NEW YORK, NY 10018
HELIX BUBBLE MEMORY BOARDS
CALL
• 512KB OF NON VOLATILE MEMORY • WORKS AS HARD DISK • WRITE-PROTECT. • UP TO
8 TIMES FASTER THAN A FLOPPY DRIVE. • HARD DISK EMULATION. • TWO YEAR WARRANTY.
BUSINESS SOFTWARE
ALPHA SOFTWARE
DATA BASE MANAGER II. $205.00
EXECUTIVE PACKAGE. 109.00
TYPE FACES. 89.00
ASHTON-TATE
dBASEIII. CALL
FRAMEWORK. CALL
CONTINENTAL
HOME ACCOUNTANT PLUS. 85.00
TAX ADVANTAGE. 45.00
PROPERTY MANAGEMENT. 319.00
ENERTRONICS
ENERGRAPHICS. CALL
FOX & GELLER
D. GRAPH/QUICKCODE/DIUTIL. CALL
GRAFOX. CALL
OZ. CALL
FRIENDLYSOFT
FRIENDLY WRITER . 60.00
HARVARD SOFTWARE
HARVARD PROJECT MANAGER. CALL
HAYES
SMARTCOM II. 95.00
INNOVATIVE SOFTWARE
TIM IV. CALL
I U S
ACCOUNTING AR/AP/GL ea. CALL
INVENTORY CONTROL. CALL
ORDER ENTRY. CALL
PAYROLL. CALL
EASY WRITER ll/SHELLER/MAIL .... 199.00
EASY FILER. 199.00
EASY PLANNER. 159.00
LOTUS DEVELOPMENT CORP.
LOTUS 1 -2-3. (NO MAIL ORDERS).. CALL
SYMPHONY (NO MAIL ORDERS) ... CALL
MICRO DATA BASE
KNOWLEDGE MAN. CALL
MICRO PRO
INFOSTAR. CALL
WORDSTAR. CALL
WORDSTAR PROFESSIONAL. CALL
MICRORIM
R BASE 4000 . CALL
EXTENDED REPORT WRITER. CALL
CLOUT (RE8.256K). CALL
PROGRAM INTERFACE.?. CALL
MICROSOFT
MULTIPLAN. 129.00
WORD. CALL
MICROSTUFF
CROSSTALK. 105.00
NORTH AMERICAN BUSINESS
MEMORY SHIFT. 69.00
NORTON COMPUTER
NORTON UTILITIES. 55.00
PC SOFTWARE
CREATABASE. 65.00
PEARL SOFT
PERSONAL PEARL. CALL
ROSE SOFT
PROKEY 3.0. 85.00
SAWHNEY SOFTWARE
TAX MODE. CALL
PLAN MODE. CALL
SOFTWARE ARTS
TK SOLVER. 269.00
FINANCIAL MANAGEMENT. 85.00
MECHANICAL ENGINEERING. 85.00
SOFTWARE SYSTEMS INC.
MULTIMATE. 279.00
DISK DRIVES
PEGASUS. CALL
QUMET142. CALL
SYSGEN. CALL
TANDON TM 100-2 . 200.00
MULTIFUNCTION BOARDS
64 RAM CHIPS. 55.00
AST CARDS. CALL
QUADBOARD CARD. CALL
AMDEK MAI CARD. CALL
PC MOUSE. CALL
FTG LIGHTPEN. CALL
PLANTRONICS COLOR PLUS CARD ... CALL
HERCULES.'. CALL
PRINCETON GRAPHICS. CALL
ENTERTAINMENT & EDUCATION
ACROSS THE USA. 25.00
ATI TRAINING PACKAGES. ea. 49.00
ATTACK ON ALTAIR. 29.00
BIG TOP. 27.00
CONOUEST. 29.00
COSMIC CRUSADERS. 27.00
DEADLINE. 37.00
DIGGER. 29.00
THE EXTERMINATOR. 29.00
FLIGHT SIMULATOR-NEW VERSION .. 35.00
FRIENDLY ARCADE. 32.00
FRIENDLY PC INTRO SET. 32.00
FROGGER. 25.00
GORGON. 29.00
HIDE & SINK. 22.00
HI RES #4. 27.00
KID STUFF. 32.00
MASTER MINER. 27.00
MOON BUGS. 29.00
MY LETTERS. NUMBERS & WORDS ... 32.00
PC CRAYON. 39.00
PC TUTOR. 49.00
PLANET FALL. 39.00
SERPENTINE. 25.00
SNACK ATTACK. 27.00
SPINNAKER SERIES. CALL
SPYDER. 29.00
STYX. 29.00
SUSPENDED. 39.00
WITNESS. 39.00
WIZARDRY. 49.00
ZORK I, II, III. ea. 27.00
ZURAN DEFENDER. 25.00
ACCESSORIES
CURTIS PRODUCTS
DISPLAY PEDESTAL. 35.00
MONO CABLE. 38.00
KEYBOARD CABLE. 30.00
SYSTEM STAND. 17.00
KRAFT JOYSTICK. 39.00
HAYES MACH III JOYSTICKS. 45.00
KEYBOARD DRAWER. 75.00
MONITORS
AMDEK 31OA. $175.00
COLOR II +. CALL
PRINCETON GRAPHIC HX-12. 469.00
SR-12. CALL
ZENITH RGB MONITOR. 479.00
MODEMS
HAYES SMART MODEM. $205.00
HAYES SMART MODEM 1200. 489.00
HAYES SMART MODEM 1200B. 449.00
DISKETTES
DYSAN
5.5. /D.D. $24.00
D.S./D.D. 34.00
MAXELL
5.5. /S.D. 23.00
D.S./D.D. 33.00
VERBATIM (5 year warranty)
21144 HEAD/CLEAN KIT. 10.50
5.5. /D.D. 20.00
D.S./D.D. 30.00
WABASH (Lifetime Warranty)
D.S./D.D. 25.00
PRINTERS
DIABLO P32 D-MATRIX. CALL
DIABLO 630.$1699.00
DIABLO 630 TRACTOR FEED. 249.00
DYNAX DX-15 OR DX-25. CALL
PROWRITER F10 . 925.00
IDS PRISM 132 COMPLETE. 1499.00
OKIDATA 92P. CALL
93P. CALL
84P. CALL
TOSHIBA P1351 . 1499.00
EPSON FX SERIES. CALL
NEC 3550. CALL
PRINTER CABLE/PARALLEL. 25.00
CIRCLE NO. 183 ON READER SERVICE CARD
callTOLL free 800-221-0343 JlSf'ls^a RegTstered IN NEW YORK callI-212-730-8036
■ TERMS AND CONDITIONS -
We reserve the right to repair, replace or return to manufacturer for repair, all goods
acknowledged faulty or damaged on receipt by customer. Customer must call for Return
Authorization Number before returning any goods. Prompt attention will be given to all
damaged and faulty returned goods. Any goods returned for credit are subject to 10%
restocking charge, plus shipping charge. No returns for credit on any software. Customer
must deal with the manufacturer directly if the customer finds any false claims made by
the manufacturer. All goods are shipped U.RS. only. Add 2% of price, or minimum of $3.00 for
shipping. Shipping charges on Printers & Accessories vary. We do not ship C.O.D. Please
allow one to two weeks for personal or corporate checks to clear. To expedite shipping send
money order, certified cashier’s check, or charge to your VISA, MasterCard, WE DO NOT
Add a Service Charge For Credit Card Usage. Prices subject to change without notice.
NOT RESPONSIBLE FOR TYPOGRAPHICAL ERRORS.
EPSON.COM
good, solidly black type font, be¬
cause his ribbon is getting old and
worn. Therefore, using the parame¬
ters that produce double-strike and
italics, he enters
EPSON ID (producing
italic/double-strike)
Or perhaps the user wants to ad¬
vance the paper to the top of the
page and enter the WIDE print
mode for a memo for the office bul¬
letin board. He types in
EPSON t r w (producing
Top-of-form/Reset, just to
be safe/Wide)
Note that the spaces between the
parameters and the lower-case let¬
ters did not affect the program.
Finally, let's imagine that a user
decides to single-sheet feed the
printer, but the "paper out" sensor
keeps disabling the printer as he
gets halfway down the page. The
command to disable the paper-out
sensor is not one of the predefined
parms; however, the hexadecimal
input option will still save the day.
The Epson manual says that the (es¬
cape) sequence followed by an "8"
will disable the paper-out sensor.
This translates into lb38 in hexa¬
decimal numbers. Therefore, the
user should type in
EPSON/1B38/
and the paper-out sensor will be dis¬
abled until the printer is turned off
or reset. Note that no spaces are al¬
lowed between the slashes and that
only valid hex numbers 0-9 and A-
F are allowed. (Epson-compatible
printers will BEEP at you if un¬
paired or illegal numbers are en¬
tered). However, additional parame¬
ters may be entered before or after
the slashes to advance the paper or
set any predefined character font.
To further simplify the process
of entering hexadecimal characters
(it's hard to remember many hex
numbers), create a one-line batch
file that will do the work for you.
For example, a batch file entitled
"DISABLE.BAT" could contain the
preceding command and could be
executed simply by typing "DIS¬
ABLE." Also, the AUTOEXEC.BAT
file could contain the appropriate
commands to automatically ini¬
tialize the printer upon startup.
Conclusion
The EPSON DOS command has
been of great help to me and to
other PC users over the past six
months, both on Epsons and on a
variety of other printers that are
used in the office. With imagina¬
tion and the printer manual, the
possible uses for this program are
nearly unlimited. Who knows,
maybe it will even do graphics.
Screen Displays. Fast and Easy!
Blaise Computing presents
VIEW MANAGER’^-a screen
programming system for the IBM
personal computer and hardware
compatibles. VIEW MANAGER’"
speeds the creation, documen¬
tation, and incorporation of
screens into programs developed
in high level languages. Versions
for C (Lattice, Microsoft, or
Computer Innovations) and
Pascal (IBM or Microsoft) are
now available.
VIEW MANAGER’" lets you
create input/output screens by
providing an integrated system
of programs carefully construc¬
ted to make your screen develop¬
ment easy and fast. It features:
♦ Quick creation of new
screens and editing of exist¬
ing ones using an interactive
painter efficiently storing
screens in a screen database;
♦ Extensive control over the for¬
mat of data written to and read
from data capture fields;
♦ Ability to create on-line help
files as part of the screen
system;
♦ Automatic generation of
screen documentation files,
including details of formats
for data entry fields, screen
images, and names and sizes
of all existing screens;
♦ A comprehensive library of
routines to include in your
programs allowing full ma¬
nipulation of screens and the
data that they display or cap¬
ture;
♦ Royalty-free distribution of
your commercial or in-house
applications developed using
VIEW MANAGER’".
All this adds up to a produc¬
tivity tool no system developer in
the C and Pascal environment
should be without.
$275 (Source code available
for routine library—an addi¬
tional $150)
VIEW MANAGER’* is part of the
Blaise Computing Productivity
Series. Other products to speed your
development projects in C and
Pascal include:
TOOLS"—A library of routines for ad¬
vanced string handling, forms utilities,
screen handling or more $125
TOOLS 2’“—A library of routines for
access to operating services of DOS
2.0+ from within your program—
includes memory allocation, program
chaining, file and buffer handling $100
EXEC’"—A program chaining dis¬
patcher for all DOS-executable files
supporting a common data area $95
BLAISE COMPUTING INC.
2034 Blake Street Berkeley, CA 94704
(415) 540-5441
CIRCLE NO. 115 ON READER SERVICE CARD
PC Tech Journal
Would you hire an entire band when
all you need is one instrument? Of
course not.
So why use a whole orchestra of
computers when all you need is one
to develop software for virtually any
type of micro-processor?
The secret? Avocet’s family of
cross-assemblers. With Avocet
cross-assemblers you can develop
software for practically every kind of
processor — without having to
switch to another development
system along the way!
Cross-Assemblers to Beat the Band!
Avocet
Cross-assembler
Target
Microprocessor
CP/M-80
CFyM-86
IBM PC, MSDOS**
XASM04 NEW
6804
$250.00
$ 250.00
XASM05
6805
200.00
250.00
XASM09
6809
200.00
250.00
XASM18
1802/1805
200.00
250.00
XASM48
8048/8041
200.00
250.00
XASM51
8051
200.00
250.00
XASM65
6502/65C02
200.00
250.00
XASM68
6800/01, 6301
200.00
250.00
XASM75
NEC 7500
500.00
500.00
XASM85
8085
250.00
250.00
XASM400
COP400
300.00
300.00
XASMF8
F8/3870
300.00
300.00
XASMZ8
Z8
200.00
250.00
XASMZ80
Z80
250.00
250.00
XMAC682 NEW
68200
595.00
595.00
XMAC68K NEW
68000/68010
595.00
595.00
Development Tools That Work
Avocet cross-assemblers are fast, reliable
and user-proven in over 4 years of actual
use. Ask NASA, IBM, Xerox or the
hundreds of other organizations that use
them. Every time you see a new micro¬
processor-based product, there’s a good
chance it was developed with Avocet
cross-assemblers.
Avocet cross-assemblers are easy to use.
They run on almost any personal com¬
puter and process assembly language for
the most popular microprocessor families.
Your Computer Can Be A
Complete Development System
Avocet has the tools you need to enter
and assemble your soft-ware and finally
cast it in EPROM:
VEDIT Text Editor makes source code
entry a snap. Full-screen editing plus a
TECO-like command mode for advanced
tasks. Easy installation - INSTALL pro¬
gram supports over 40 terminals and
personal computers. Customizable
keyboard layout. CP/M-80, CP/M-86,
MSDOS,PCDOS.$150
EPROM Programmers let you pro¬
gram, verify, compare, read, display
EPROMS but cost less because they
communicate through your personal
computer or terminal. No personality
modules! On-board intelligence provides
menu-based setup for 34 different
EPROMS, EEPROMS and MPUs (40-pin
devices require socket adaptors). Self-
contained unit with internal power supply,
RS-232 interface, Textool ZIP socket.
Driver software (sold separately) gives
you access to all programmer features
through your computer, lets you down¬
load cross-assembler output files, copy
EPROM to disk.
Model 7228 Advanced Programmer
—Supports all PROM types listed. Super¬
fast “adaptive” programming algorithm
programs 2764 in 1.1 minutes.
Model 7128 Standard Programmer —
Lower-cost version of 7228. Supports all
PROM types except “A” versions of 2764
and 27128. Standard programming algo¬
rithm programs 2764 in 6.8 minutes.
Model 7956 and 7956-SA Gang Pro¬
grammers — Similar features to 7228,
but program as many as 8 EPROMS at
once. 7956-SA stand-alone version copies
from a master EPROM. 7956 lab version
has all features of stand-alone plus RS-
232 interface.
EPROM: 2758, 2716, 2732, 2732A, 2764, 2764A,
27128,27128A, 27256,2508,2516,2532,2564,68764,
68766, 5133, 5143. CMOS: 27C16, 27C32, 27C64,
MC6716. EEPROM: 5213, X2816A, 48016,12816A,
5213H. MPU (w/adaptor): 8748, 8748H, 8749,
8749H, 8741, 8742, 8751, 8755.
7228 Advanced Programmer $ 549
7128 Standard Programmer 429
7956 Laboratory Gang Programmer 1099
7956-SA Stand-Alone Gang Programmer 879
PDV Driver Software 95
481 8748 Family Socket Adaptor 98
511 8751 Socket Adaptor 174
755 8755 Socket Adaptor 135
CABLE RS-232 Cable (specify gender) 30
HEXTRAN Universal HEX File Con¬
verter — Convert assembler output to
other formats for downloading to de¬
velopment systems and target boards.
Also useful for examining object file,
changing load addresses, extracting parts
of files. Converts to and from Intel,
Motorola, MOS, RCA, Fairchild, Tek¬
tronix, TI, Binary and HEX/ASCII Dump
formats. For CP/M, CP/M-86, MSDOS,
PCDOS.$250
Ask about UNIX.
AVOCET’S SUPERB 68000 CROSS-
ASSEMBLER — With exhaustive field
testing completed, our 68000 assembler
is available for immediate shipment.
XMAC68K supports Motorola standard
assembly language for the 68000 and
68010. Macros, cross-reference, struc¬
tured assembly statements, instruction
optimization and more. Linker and
librarian included. Comprehensive, well-
written manual. XMAC682 for MK68200
has similar features.
Call us toll-free for some straight talk
about development systems.
1-800-448-8500
(in the U.S. Except Alaska and Hawaii)
VISA and Mastercard accepted. All popular disc formats now available
-please specify. Prices do not include shipping and handling •• call for exact
quotes. OEM INQUIRIES INVITED.
^Trademark of Digital Research ‘‘Trademark of Microsoft
AVOCET jT
SYSTEMS INC.
DEPT.
804 SOUTH STATE STREET
DOVER, DELAWARE 19901
302-734-0151 TELEX 457210
CIRCLE NO. 110 ON READER SERVICE CARD
EPSON.COM
Listing 1 EPSON.COM
NAME EPSON
PAGE 55,132
TITLE EPSON.COM
- DOUGLAS RITARI - 12/6/83
Itit******* ********* ****************************** ****** It******* ********
EPSON.COM
- Version
1.0 - Setup Utility for Epson Printer
by: Douglas
Ritari
DATE: December 6, 1983
**********************************************************************
IAIN SEGMENT
PARA PUBLIC ’CODE’
ORG
lOOH
START PROC
FAR
ASSUME
CS:MAIN
ASSUME
DS:MAIN
ASSUME
SS:MAIN
ASSUME
ES:MAIN
JMP
SSTART ;
iJUMP TO REAL START .OF PROGRAM
*************
INITIALIZE DATA VARIABLES ******************************
<
iWITCH OB
0
SWITCH FOR HEX V SEQ.- EITHER '0* OR 'FFH*
SIXTEEN DB
16
THE NUMBER ’IB’ USED IN HEX CONVERSION - MUL.
TESTPR DB
0
SWITCH TO TEST IF ANY OUTPUT WAS PRODUCED
DIGITS DB
0
NUM. OF HEX DIGITS PROCESSED - 'O' OR
HEX DB
0
HEXADECIMAL ACCUMLATOR
PARM DB
0
MOVE PARAMETER TO HERE - 1 BYTE AT A TIME
k********************************* **********************
BEGIN PROGRAM - SAVE RETURN ADDRESS TO DOS
***********■.**********************************************************
SSTART:
PUSH
OS ;
;SAVE PSP SEGMENT ADDRESS
MOV
AX,0
PUSH
AX ;
;SAVE RETURN ADDRESS OFFSET (PSP + 0)
.*************** move count of characters into PARM AREA **************
MOV
SI,80H
;S0URCE STRING OFFSET (WITHIN PSP)
MOV
DI,OFFSET PARM ;DEST. STRING OFFSET
CLD
;SET 'FORWARD' STRING OPERATIONS
MOVSB
DEC
DI
;M0VE # OF PARMS ENTERED INTO 'PARM' VARIABLE
. ************
SET UP PARM FIELD'S POINTERS ****************************
MOV
AL.PARM
;PUT NUMBER OF CHAR. IN PARM IN AL REGISTER
MOV
CX.AX
;PUT NUMBER OF CHAR. IN PARM IN CX REGISTER
MOV
BX,OFFSET PARM ;P0INT TO PARMS BASE ADDRESS
CMP
CX,0
;WERE 'NO' PARMS ENTERED ?
JE
SEAREN
;SEND DEFAULTS - NO PARMS - END PROGRAM
.^***************************************************1e**ic**i,************
; PARM(S) WERE ENTERED ■
- SEARCH FOR AND PROCESS PARMAMETERS
.**********************************************************************
SEAR:
MOVSB
DEC
DI
;READ IN PARM FROM PROG. SEGMENT PREFIX
MOV
AL.CBX]
MOVE NEXT PARM TO INPUT REGISTER
CMP
AL,96
96 IS THE SMALL LETTER 'A'
JL
SEARCP
DO 'NOT' MODIFY THIS LETTER IF LOWER THAN 'a'
AND
AL,223
REDUCE BY 32 - UNCAPS===> CAPS
SEARCP:
CMP
AL,'./'
HEX SEQUENCE BEGUN OR TERMINATED
JE
TOGGLE
TURN ESCAPE SEQUENCE FLAG ON OR OFF
MOV
AH,0
CLEAR AH REGISTER
CMP
AH,SWITCH ;IS HEX SEQUENCE OFF ?
JNE
PASTHRU
PRINT CHAR.'S HEX VALUE IF,HEX SWITCH IS ON
CMP
AL,'E'
PARM TO 'EMPHASIZE' ?
JE
PARM E .
PARM-E ROUTINE
CMP
AL,'0'
PARM TO 'DOUBLE-STRIKE' ?
JE
PARM_D
JUMP TO PARM-0 ROUTINE
CMP
AL,'C'
PARM TO 'COMPRESS' ?
JE
PARM C
JUMP TO COMPRESS ROUTINE
CMP
AL,'T'
PARM TO 'GOTO TOP-OF-FORM' ?
WE DO WINDOWS.
HAIM flENU DIRECTORY R:
1) DISPr-1 BACKUSI BAT
2) EKTE SELECT HASTER FILE | BASTEST BAS 5
IcWllJJ-' 1) CUST i - lEST EXE 5
41 PRIM liiajlMi! SELECT ACT!OH EST LST IZI
5) SYST 3) UEHD 1) ADD HEW RECORD EST HAP 4'
6) CHAH 4) DIPL . . .
- 5) SALE 3) DELECT PRODUCT MASTER RECORD
- 4) PERFOR
- PRODUCT HUMBER:123456
PROCUCT HAME: Inverted Tweaker
714 l»-27-83 8:
5128 9-15-83 1:
5128 11-87-83 10:
12032 11-07-83 9:
4992 11-07-83 10:
qUAirriTY OH HAHD: 10265
REORDER POIHT: 2000
or tijpe the ntuiker for thifraailgating
Press <EHTER> to select t^————«
Press <ESC> to exit froa this wenu.
Press ? for help with the highlighted ■
Use the up and down arrowIPRODUCT DESCRIPTIOH: Reverse aetaflange for
or t^pe the nuaker for thifraailgating bent borogoves.
Don’t just put your applications in windows—put windows in your
applications with VSI—the window manager.
VSI is a high-speed screen management tool. You can create up to 255
simultaneously active overlapping windows—large or small—for any
application program. Read to or write from any window and display them
with borders and user declared priorities. VSI is callable from any com¬
piled language and supports all color and monochrome video attributes.
Cut Development Time
VSI’s powerful primitives simplify your screen management chores
with a complete library of functions. And you can preview and edit your
screen layout before you actually program it
But that’s only the beginning.
Free Demo Disk
Our free hands-on demo disk will have you doing windows, too.
Return the coupon with $4.50 for postage and handling.
MasterCard or Visa accepted with phone orders only.
VSI is used with IBM PC, XT and compatibles as well asTI
Professional, and Wang PC.
^ develop software for 8086/8088 based machines and I want to do windows, too. ^
I I’m enclosing $4.50 for postage and handling Please send me your free demo I
disk. My business card is attached. (Offer expires December 31,1984)
VSI
CopvTifiht 1984 Amber Sy.stems. Inc
1 ('nmpiitpr
AMBER SYSTEMS, INC.
1171 S.Sunny\’ale-Saratoga Road
San Jose CA 95129
(408)996-1883
1 M.imi'
C'()mn,nnv
1 A(l(lris<;
, (’ilv
7ip
l_
CIRCLE NO.
126 ON READER SERVICE CARD
S6
PC Tech Journal
COMPILER
dBCDMRLER-
WORDTECH SYSTEMS P.O. Box 1747, Orinda, CA 94563 C415] 254-0900
WordTech Sysfcms is proud to announce the firs|^)mpiler for
dBASEII®.
-INDEPENDENCE—-
Now you can write compiled, efficient programs that will execute
independently of dBASE II, and without RunTime®.
-NO LICENSE FEES-
You only buy dB ('ompiler™ once. You ma\' compile as mam’
applications as you wish, FOREVER, with no additional fees.
--SPEED---
. Application programs are compiled into low level code and only
include program ffinctions that are ab.soluteh’ necessarv'.
-SECURI'TY—^-—-—
Compilation is far better than encryption for protecting your
programming insights and procedures.
-— POR'IABILITY-
Using dB Compiler’s cross-linkers you can use one development
system to generate code for various target environments.
Suggested retail price: $750; additional target modules: $350
ORCLE NO. 1(1 ON READER SERVICE CARD
-PRESENTING-
The first compiler for dBASE E
dBASE II, RunTime® Ashton-Tate
Illlllllllltl
EPSON.COM
JE
PARM T
JUMP TO TOP-OF-FORM ROUTINE
CMP
AL.'R'
PARM TO 'REINITIALIZE PRINTER' ?
JE
PARM R
JUMP TO RESET ROUTINE
CMP
AL,*r
PARM TO SET 'ITALIC CHAR. ?
JE
PARM I
JUMP TO ITALICS ROUTINE
CMP
AL.’U'
PARM TO SET 'UNI-DIRECTIONAL' PRINT MODE
?
JE
PARM U
JUMP TO 'UNI-DIRECTIONAL' ROUTINE
CMP
AL, • W •
PARM TO SET 'WIDE' PRINT MOOE ?
JE
PARM W
JUMP TO WIDE ROUTINE
SEARBK: LOOP
SEAR
LOOP BACK FOR OTHER PARMS
SEAREN: JMP
PGMEND
JUMP END-PROGRAM PROCEOURE
;********* BACKSLASH TOGGLES HEXIOECIMAL INPUT MOOE ON/OFF
; TOGGLE THE
HEXADECIMAL INPUT PROC.-OFF===>ON - OR 0N==
==>OFF
TOGGLE: NOT
SWITCH
JMP
SEARBK ;
iRETURN TO PARM SEARCH PROCEDURE
.********** gojj POP y/^LIO HEXIOECIMAL NUMBERS ************************
PASTHRU: SUB
AL,30H
CONVERT FROM ASCII REPRES. TO REAL
. NUMBERS
JC
BELEND
END PROGRAM IF WRONG PARM - SOUND
BELL
CMP
AL.9
CHECK FOR DIGIT > 9
JBE
PASTHR2
VALID NUMBER - JUMP TO MATH ROUTINE CALL
SUB
AL,7
CONVERT FROM ASCII REPRES. TO HEX
DIGITS
A-F
JC
BELEND
END PROGRAM IF WRONG PARM - SOUND
BELL
CMP
AL.OFH
CHECK FOR DIGIT > '15' HEX
JA
BELEND
END PROGRAM IF WRONG PARM - SOUND
BELL
PASTHR2: CALL
HEXMATH
CONVERT INPUT PARM TO HEX-NUMBER
JMP
SEARBK
RETURN FOR NEXT PARM
;******** PRE-
•DEFINED EPSON PRINTER PARMS PROCEDURE *******************
PARM E: MOV
AL,45H ;
;CODE FOR 'EMPHASIZED' FONT
CALL
ESCAPE
JMP
SEARBK
PARM D:
MOV
AL.47H ;CODE FOR 'OOUBLE-STRIKE' MOOE
CALL
ESCAPE
JMP
SEARBK
PARM C:
MOV
AL.OFH ;CODE FOR 'COMPRESSED' FONT
CALL
PRINTER -.COMPRESSED MODE DOES 'HOT' NEED PRE-ESCAPE SEQ
JMP
SEARBK
PARM T:
MOV
AL.OCH ;COOE TO 'ADVANCE PAPER TO TOP-OF-FORM'
CALL
PRINTER ;FORM-FEED TO TOP-OF-FORM DOESN'T NEED ESC.
JMP
SEARBK
PARM R:
MOV
AL,40H -.CANCEL ALL MODES/RESET LOGICAL TOP-OF-FORM
CALL ESCAPE
JMP
SEARBK
PARM I:
MOV
AL.34H ;CODE FOR 'ITALICS' FONT
CALL
ESCAPE
JMP
SEARBK
PARM U:
MOV
AL.55H -.TURN ON UNI-DIRECTIONAL PRINT MOOE
CALL
ESCAPE
MOV
AL.l ;COOE TO SET UNI-DIRECTIONAL 'ON-
CALL
PRINTER
JMP
SEARBK
PARM W:
MOV
AL.57H -.CODE FOR 'PERMANENT DOUBLE-WIDE' FONT
CALL
ESCAPE
MOV
AL.l ;CODE TO SET WIDE 'ON'
CALL
PRINTER
JMP
SEARBK
**************4
' END OF PROGRAM PROCEDURE *****************************
RESTORE CONTROL TO DOS - END OF PROGRAM
8ELEND:
MOV
MOV
CALL
DIGITS,0
AL,07H
PRINTER
CLEAR 'UNPAIRED DIGITS* HEX CHECK
BAD PARMS IN PROGRAM - SOUND BELL
PROGRAM ENDED WITH ERRORS!
PGMEND:
CMP
DIGITS,0
WAS 'UNPAIRED' HEXCODES ENTERED?
ONE
BELEND
SOUND BELL TO SIGNAL ERROR
CMP
TESTPR.O
JE
DEFAULT
NO OUTPUT WAS PRODUCED - SEND DEFAULT
RET
;RETURN TO DOS - END OF PROGRAM.
**********************************************************************
NO PARMS WERE ENTERED - DEFAULT SETTING OF DOUBLE-STRIKE/EMPHASIZE
DEFAULT: MOV AL,47H ;PUT 'DOUBLE-STRIKE* CODE IN OUTPUT REGISTER
CALL ESCAPE
MOV AL,45H ;PUT 'EMPHASIZE* CODE IN OUTPUT REGISTER
CALL ESCAPE
JMP PGMEND ;JUMP TO END-OF-PROGRAH ROUTINE
START ENDP
********** escape subroutine - SEND ESCAPE CODE TO PRINTER ***********
ESCAPE
PROC
PUSH
MOV
NEAR
AX
AL.18H
SAVE POTENTIAL CHAR. TO BE PRINTEO ON STACK
MOVE ESCAPE CHAR.(IBH) TO OUT REG.
CALL
PRINTER
CALL PRINTER SUBROUTINE
POP
AX
GET CHAR. TO BE PRINTEO FROM STACK
CALL
PRINTER
CALL PRINTER OUTPUT ROUTINE
RET
RETURN TO CALLING SUBROUTINE
ESCAPE
ENOP
********* printer subroutine - ALL PRINTING IS DONE HERE *************
SEND CHARACTER IN AL REGISTER TO PRINTER
PRINTER PROC NEAR
MOV TESTPR.l ;VALIO OUTPUT HAS BEEN PRODUCED
MOV
DX,0
;SET REGISTER FOR PRINTER OUTPUT
INTERRUPT
MOV
AH,0
;SET REGISTER FOR PRINTER OUTPUT
INTERRUPT
INT
17H
;CALL PRINTER DRIVER IN BIOS
RET
;RETURN TO CALLING SUBROUTINE
PRINTER ENDP
********* CONVERT INPUT PARMS TO HEXIDECIMAL NUMBERS *****************
HEXMATH PROC NEAR
CMP DIGITS,0
ROUTINE TO CONVERT PARM TO HEX NUMBERS
0===> 1ST 1 - !===> 2ND #
JNE MATH2
MUL SIXTEEN
MOV HEX.AL
JUMP & PROCESS 2ND #
MULTIPLE 1ST # BY 16
CLEAR & STORE RESULT IN 'HEX'
INC DIGITS
RET
MATH2: ADD AL.HEX
1ST NUMBER PROCESSED
RETURN TO PASTHRU ROUTINE
TOTAL THE TWO HEX DIGITS
MOV DIGITS,0
CALL PRINTER
RET
CLEAR DIGIT VARIABLE FOR FUTURE PARMS
SEND HEX # IN *AL* REGISTER TO PRINTER
RETURN TO PASTHRU ROUTINE
HEXMATH ENDP
.**********************************************************************
MAIN- ENDS
END START
Presenting the No-Risk Disk.'”
No matter how many times you play it, the TDK
No-Risk Disk won’t drop a letter. A word. Not even a bit.
We guarantee it.
And not for 1 year. Or 5 years. But with a lifetime
replacement warranty for as long as yo u own the disk.
That’s a promise we don’t make
lightly. Because it has almost 50 years’
research and development of TDK
recording products behind it.
So the next time you want to store
important information, put it on TDK.
You’ve got nothing to lose.
TDK offers a complete line of the most popular disks in 5'/4- and 8-inch formats.
IDK. THE IWHHSK DMC
CIRCLE NO. 178 ON READER SERVICE CARD -
September i984
89
Q)mputer drecuns.
upm PbuR Palf-Hbi&ht
fimd piskn Sacjoif
^TOm>E- FPDTBCTIOti
FC'TyF&
TPULi COMFAT/SlB-
PVNS AIJ- F0FULA2 "SOFTi^/AaE:.
DuAi-MDl^ilSFLAV
200-yJArr foiAJSF ’^PFlV
APO six SXPANS/OM SLOTS
I2SF TO /2AM 0/1
5ysTm BOAFP
yo8& FPoceSSo/F
I ntroducing the new COMPAQ DESKPROr
COZ^AQ combined the best features of the best
desktop computers. And then added exclusives you won’t
find on others. Today they’re together in one personal
computer. The COMPAQ DESKPRO.
The COMPAQ DESKPRO is the most expandable
desktop you can buy. It can grow as you grow, with up
to six available expansion slots and four storage devices,
including a unique fixed disk drive backup—all inside the
computer instead of out, saving your desk from clutter.
It’s the most rugged desktop, too, because it’s the only
desktop with a shock-mounted mass storage compartment
to help keep disk drives in alignment and help protect you
from losing data, downtime, and dollars.
It’s also the most compatible desktop, giving you true
hardware and software compatibility with the industry’s
most popular personal computers. The COMPAQ
DESKPRO runs thousands of programs written for the
IBM* PC and XT right off the shelf. Which brings us to the
next point.
®1984. COMPAQ* is a Registered Trademark and COMPAQ DESKPRO” is a Trademark of COMPAQ Computer Corporation IBM* is a Registered Trademark of International Business Machines Corporation
Dream computer.
The industry leader in compatibility
Text and graphics on one screen, not two..
Power and space for almost unlimited ^
expansion
Add up to 640K of memory on
system board and save expan¬
sion slots.
Runs software 2X to 3X faster. •
10MB fixed disk drive
10MB fixed disk backup
Two diskette drives
Exclusive tape backup helps
protect data.
Unique shock mounting helps
protect your data and hardware
investment.
Familiar layout enhanced
with LEDs on caps and num-
lock keys.
The COMPAQ DESKPRO is the fastest truly compatible
desktop you can buy. Its two to three times faster than the
industry standard. That saves time now. And in the future,
as software becomes more sophisticated and integrated, it
will save you even more time as well as protect your per¬
sonal computer investment.
But there’s more. We gave the COMPAQ DESKPRO one
other feature not found on any other machine. You can
choose between an amber or green dual-mode monitor
that displays high-resolution text and graphics with equal
brilliance, saving you the cost and clutter of a second monitor.
See the Dream Computer. Then pinch yourself. It’s for real.
For the location of the nearest Authorized COMPAQ
Computer Dealer, or for a free brochure, call 1 - 800 -
231 - 0900 , Operator 5 or Telex #795437 COMPAQCOMP HOU.
comPAa
It simply works better.
92
PC Tech Journal
OKIDOKK
FROM PC
TOOKIIMA84
Jeff Garbers
A program that translates the PC's codes for line-drawing characters
into language the Okidata 84p can understand
S ometimes a printer and a personal comput¬
er don't speak quite the same language. An
example of this problem occurs with the Oki¬
data Microline 84p printer when it is used
with an IBM PC or compatible. The Oki 84p
has become a popular alternative to the IBM
Dot Matrix and Graphics Printers. It is rea¬
sonably priced, quick, and offers an attractive
correspondence-quality mode as well as other
useful features. Unfortunately, it was not
originally designed to work closely with the
PC, so its graphics character set is quite differ-
/eff Garbers is director of product development for
Microstuf, Inc. in Atlanta, Georgia. He is coauthor of
Crosstalk XVI.
ent from the de facto standard established by
IBM. What the PC displays as a solid vertical
bar (character 179) comes out looking Japa¬
nese on the Oki. For a vertical bar, the Oki
uses character 150, which would be displayed
by a PC as an "O" with a circumflex.
Since the codes are not compatible, at¬
tempting to print any of the PC's non-ASCII
characters results in a print-out that is dis¬
tracting at best and unreadable at worst. The
situation is especially annoying when print¬
ing screen dumps of programs that use the
PC's line-drawing characters to form boxes or
pictures on the screen. Checking the Oki
manual reveals that the printer can print
most of the necessary characters without
September i984
93
OKI Dokey
having to revert to complex graph¬
ics-printing procedures—it's just
that the codes are different. All that
would be necessary to fix things is a
program to translate the PC's codes
into the Oki's codes as the docu¬
ment is printed.
X20KI, the program presented
in listing 1, does just that. It inter¬
cepts any calls to the IBM BIOS
parallel printer routine, checks to
see if the character to be printed
should be translated, and does the
translation if it can. This version of
the program supports only the line¬
drawing characters, but it could
easily be expanded to do more. The
program is well suited for modifica¬
tion and can serve as a base for
interesting projects. (For instance, it
could be used as an example by pro¬
grammers wishing to develop a rou¬
tine that would translate codes for
printers other than the Oki 84p.)
Using the Program
The IBM Macro Assembler is re¬
quired to assemble this program.
Use an editor to type it in (leave out
the comments if desired) and give it
the name X20KI.ASM. Assemble
and link it with the following steps
(this article assumes that the pro¬
grammer has MASM.EXE,
LINK.EXE, and EXE2BIN.EXE):
MASM X20KI;
LINK X20KI; <-wiII produce
a warning error
EXE2BIN X20KI X20KI.COM
DEL X20KI.EXE
DEL X20KI.0BT
This routine will result in a run¬
nable X20KI.COM, which the user
may wish to put on his boot disk
and then incorporate into his
AUTOEXEC.BAT file. If errors are
encountered at any step in the as¬
sembly process, don't continue,- go
back, edit the source code, and start
again. The only error to ignore is
the warning error after the link
step—that's perfectly normal.
To start the program, type
X20KI. The program will announce
that it is installed and running. To
toggle the translation feature (if, for
example, the Okidata's graphics
features are needed), type X20KI
again; the program will activate or
deactivate (as appropriate) and will
display its current status. The pro¬
gram has been tested and used ex¬
tensively on the author's own sys¬
tem, but no guarantees are made as
to its usefulness with any particular
configuration of PC and printer.
Special Techniques
X20KI is extensively commented,
but there are a few notions that
need special attention:
Borrowing the Interrupt
Vector. Notice that when X20KI
first starts up, it stores the address of
Btrieve:
Network and single-user file management for all
your programs. All your programming languages.
Written in 8088 Assembler for the
Say goodbye to writing file management
routines. Because now Btrieve™ can han¬
dle file management for all your program
development on the IBM PC. All your
programming languages.
Based on the b-tree file indexing
system, Btrieve provides the most
sophisticated file handling powers
available for your PC. And for multiple
PCs. Btrieve™/N lets you share files
among PCs in NetWare,™ PCnet,"^^
EtherSeries7^ or MultiLink™ networks.
And both Btrieve and Btrieve/N offer the
same superior performance characteristics:
• Interfaces all major IBM PC
languages—BASIC, Pascal,
COBOL, C, and IBM Macro
Assembler
P.O. Box 9802 #590
SoftCraftInc.
Austin, Texas 78766 (512)346-8380
Suggested retail prices: Btrieve, $245; Btrieve/N,
$595. Requires PCVDOS or MS™/DOS, version 1
or 2. Dealer inquiries welcome.
IBM PC
• Multikey access to records
• Automatic file recovery on system
crash.
Btrieve and Btrieve/N also have user-
defined transaction management.
Unlimited number of records per file.
Complete error control and recovery
within an application. Duplicate,
modifiable, and segmented keys. Variable
cache buffer from 16K bytes to 64K bytes.
Moreover, record retrieval is fast with
Btrieve—no matter how large your data
base. So you can begin writing programs
faster with Btrieve.
Say goodbye to file management
routines. And hello to Btrieve.
IBM, MS, Btrieve and Btrieve/N, PCnet, MultiLink,
NetWare, and EtherSeries are trademarks of International
Business Machines, Microsoft Corporation, SoftCraft Inc.,
Orchid Ikdinologv’, Davong Systems Inc., Novell Data
Systems, and 3ComCorp., respectively.
94
CIRCLE NO. 201 ON READER SERVICE CARD
PC Tech Journal
Buy it because it’s the best buy
Buy the OMNINETNetwork
for the most expandability.
At under $500 per node, OMNINET
has the lowest cost per station of
any local area network.
Because an OMNINET Network
uses simple, twisted pair wire.
Which means that cabling costs one
fifth of the coaxial alternatives,
with none of the installation
headaches. J
Result? OMNINET is both A
easier and less expensive to Om
install. Or expand. BH
If you’re just starting a network,
consider OMNISHARE™ Software. It
lets your regular PC’s or PC-com¬
patibles make full use of the disk
space on an IBM PC XT.™
When you want to draw on the
resources of your central comput¬
er, you’ll want Corvus’ SNA Gateway
It lets your network’s micros tap
into your mainframe’s information.
Whether you have 2 computers
or 2,000, OMNINET can get the
most out of them.
Buy the system
for unmatched
flexibility
Buy us for our experience.
We pioneered local area network¬
ing for micros. And we’re con¬
stantly working on better ways to
give you the system
you need, with the ^
versatility you f
want, at a price 59% ‘V IJ
that makes sense,
With the result thar^teys;^^
3 out of every 5 locally-networked
micros in the world are connected
to a CORVUS network*
Give us a call at 800-4-CORVUS
to find out more.
Because when it’s aU said and
done, one of the best arguments for
going with an OMNINET Network
is really very simple.
Buy it for your peace of mind.
^ j From Apples
to Zeniths,
1^0 OMNINET
handles
more types
0 i I of micros
I B than any
other net-
work. So keep ^
the dec’s in Data Proc-
essing and the PC’s in 1
Purchasing; OMNINET options like electrohigmail, your
makes for great work- people can choose from over 500
ing relationships, different programs: acc(i^rding to
^ And starting with their needs. Not theif ni^twork’s
--—-—-- 1 limitations.
^ Wliat’smo^, CORVUS
can handl§all ^our
hardwar^needk. From
6 to 45 M® harddisks
through 20bMB Ran¬
dom Access bacl^p at
an amazing $11 p4r
megaby^. Bofh,'sgith
OMNINET servers briilt
right in.
OORVUS
Oywiis^tility
The Networking Company.
' 59% of all locally-networked micros operate in a corvus network,
according io InfoCorp CORVUS,THE NETWORKING COMPANY,
OMNINET and OMNISHARE are trademarks of corvus systems inc.
IBM PC and PC XT are trademarks of International Business
Machines, apple is a trademark of apple computer inc. dec is a
trademark of digital equipment corporation. Zenith is a trade¬
mark of Zenith Corporation. TI is a trademark of Texas Instruments.
Omnidrive'’’ Connis Bank'
Zenith
Connis
Corvus OMNINETNetu>ork
Printer
CIRCLE NO. 230 ON READER SERVICE CARD
.IS
T
-S4
Oki Dokey
the old INT 17H handler away for
its future use. When its own work
is complete, it calls the old handler
before returning to its own caller.
This technique is often referred to
as "borrowing" the interrupt vector.
In contrast, a program is said to
"steal" the interrupt vector when it
handles the interrupt itself and
either returns directly to its caller
or jumps off to a fixed position in
the ROM BIOS, often leaving a pre¬
viously installed caller out in the
cold. Programs that steal interrupt
vectors—especially the video, key¬
board, and timer-handling vectors—
are one of the major causes of in¬
compatibility between different soft¬
ware packages. Obviously, stealing
is to be avoided. The borrowing
TURSOCffARGE
YOUR IBM
PERSONAL EDITOR
Let EDITOR-IN-CHIEF take charge. EDITOR-IN-CHIEF is our highly
optimized key-definition profile for the IBM Personal Editor that
saves you thousands of keystrokes. EDITOR-IN-CHIEF simplifies
and speeds entry and editing of programs and text, dramatically
increasing your productivity More than forty new functions give
you powerful control over your text or program files.
With only one keystroke or key-combination, you can:
• Mark or unmark a word or string of words • Capitalize or
lower case all text in the marked area • Mark from the cursor
to the beginning or end of the line • Repeat the current line
without marking it first • Extend a marked block of lines up
or down by one or more lines • Get to the "unnamed" (error
recovery) file • Set tabs to provide for structured program
indentation • Automatically redefine the Enter key to any of
five useful functions for entering or editing program or text
files • Save the current contents of the command line, for
later reinvocation without retyping • And much more.
We’ve adjusted and refined nearly every function in the IBM-supplied
profile for improved usability For example, functions meant to work in
the data, area (such as marking characters, blocks, and lines)
work properly even when the cursor is on the command line.
EDITOR-IN-CHIEF also includes an alternate profile,
where you can custom-code your own key definitions.
Predefined keys let you conveniently switch back and forth
between the standard EDITOR-IN-CHIEF profile and your
custom profile. We also include a complete online help
facility and an alternate help facility where you can
document your own key definitions.
919 . 95 ^
POLYGON
SOFTWARE
CORPORATION
EDITOR-IN-CHIEF comes with:
diskette with profile and help file,
and alternate profile and help file;
reference card; complete installation
and reference documentation.
363 Seventh Avenue, New York, New York 10001. Telephone; (212) 563-5487. Add $2.50
postage and handling (NY residents add appropriate sales tax) Visa and Mastercard accepted.
IBM IS a legisieted liademark of Inieinaiional Business Machines Coipoiaiion
technique, if used properly, allows
"chaining" of handlers and will
help to ensure future usefulness.
Using a Scan Table. There are
two common ways of performing
character translation: using look-up
tables and using scan tables. With a
look-up table, the program subtracts
some constant value from the in¬
coming character so as to make it an
"offset" into a predefined table; for
example, a program might subtract
65 from an alphabetic character to
translate A to zero, B to 1, etc. The
program then uses one of the 8088's
indexed addressing modes to pick
up the desired outgoing character
from the table, as in the following
code fragment:
sub al, 65 ; change 'A' TO 0,
/B' to 1, etc.
mov bl, al ; we will use BX
;as our offset
mov bh, 0 ; high half is
;always zero
mov al, TABL£[bx] ; pick up
;the desired value
Look-up tables are appropriate
when speed is a concern or when
many of the characters in a particu¬
lar range need to be translated.
Neither of these cases is appro¬
priate in X20KI —the speed is going
to be limited by the printer's output
capability anyway, and the program
can handle only a few of the possi¬
ble characters. The scan table ap¬
proach is therefore used instead. In
this method, there are two "paral¬
lel" tables—one containing codes
for incoming characters that need to
be changed and the other contain¬
ing the desired outgoing characters.
The program scans the table, and if
it finds a match, the value at the
same offset in the other table is
picked up and used. See listing 1 for
an example of this process.
End but Stay Resident.
When a program finishes, DOS
usually frees up the memory it used
so that memory is available to other
programs. The user would run out
of memory quickly if this were not
96
CIRCLE NO. 171 ON READER SERVICE CARD
PC Tech Journal
“In the art
of programming
the difference between
greatness and mediocrity
is often the quality of
the artist’s tools. ”
To Order or Request Literature Call
1 - 800 - 547-4000
Ask For Dept. 310
VISA & MasterCard Accepted
Or Send Checks, P.O.’s To:
Polytron Corporation ds- 310 -fi
P.O. Box 787, Hillsboro, OR 97123
Add $1.25 Shipping Charge For Each
Product Ordered.
CIRCLE NO. 268 ON READER SERVICE CARD
POLYOVERLAY
Make Maximum Use of Memory with Overlay Code. Creates optimal memory
overlay structures, in terms of utilizing a minimum of total physical memory, while
it builds a batch file to automatically drive an overlay linker, for creating efficiently
overlayed executable code. Creates optimum overlay structures for any modular
language including C, FORTRAN, Pascal, Ada and even BASIC. Essential for
porting mainframe code to large to fit into personal computer’s memory all at one
time. Requires MS-DOS 2,0, and Microsoft’s Linker Version 3.4. Shipped with
Users Manual. $OQ
POLYTRON C LIBRARY 1
A Library of High-Performance Functions for Lattice C Compiler Users. Over 50 significant routines
more useful than common library functions. The library includes UNIX-like utility functions, file management
functions, more efficient and flexible I/O routines, and executive functions. This is a powerful, professional-
quality C library that is easy to use and designed to increase your productivity. Assembly and C source code
included. Requires Lattice C Compiler Includes Users Manual... $QQ
POLYLIBRARIAN
The Object Module Library Manager for MS-DOS™. PolyLibrarian lets you create a single library from
related Objects Modules. The IBM PC Linker will then select only the modules necessary to produce an
executable file. PolyLibrarian can: Create, organize, reconstruct, dissect, and compress libraries of object code
modules. Add, delete and replace an object module. Extract a module from a library to create an OBJ file.
Change public and external names. Modules are time-stamped within the library. Supports full path names.
Supports Microsoft’s original and latest Linker (Version 2.4). Includes installation program to customize options
to your specific needs. Features three Modes of Operation (Interactive, Command File, Command Line) that
can be freely intermixed. Surpasses performance of other primitive librarians. Features a highly functional user
interface that uses simple meaningful key words. Requires 128K RAM, MS-DOS (PC-DOS) 1.1 or 2.0.
Compatible with any compiler or assembler that uses the MS-DOS (PC-DOS) Linker. Shipped with
comprehensive Users Manual including step-by-step tutorial for.$QQ
POLYLIBRARIAN II
Extends PolyLibrarian’s power to Intel™ and Digital Research™ Format Libraries. PolyLibrarian II is an
enhanced version of PolyLibrarian. In addition to all the features and functions listed above for PolyLibrarian,
this version adds a new dimension of productivity for programmers using Intel and Digital Research Language
Products. Compatible with any Intel Format Library and any Microsoft Format Library. Compatible with
Intel’s Link 86 under MS-DOS. Compatible with Digital Research Linker under MS-DOS.
POLYMAKE
The Intelligent Program Builder & Maintenance Tool for MS-DOS. Poly Make frees you from the need to
remember which files depend on others and which files have been modified. PolyMake will: Remember the
exact sequence of operations necessary to make a new version of a program. This will significantly reduce
developement time, prevent bugs & manage large software projects. Automatically invoke your compiler,
assembler, linker, librarian, or do whatever is necessary to bring all dependent files up to date. Compare the date
and time of all relevant files and use internal rules to rebuild a program or complete software system. Rules can
be modified and expanded. Extensive debug capabilities help construct efficient make files. Includes features
superior to UNIX Make. Fully automatic operation under MS-DOS 2.0. Full path name capabilities under
MS-DOS 2.0. Requires 128K. Shipped with a comprehensive Users Manual.$QQ
POLYFORTRAN TOOLS 1
Four Powerful Utilities in One Package. For developing or enhancing software or porting mainframe
software to personal computers these easy-to-use tools will become indepensible for the professional
FORTRAN programmer. Includes: 1. FORTRAN-XREF for developing comprehensive cross-reference
maps of FORTRAN source code. Mainframe users expect this kind of utility. New personal computer users
have X-REF power. 2. FORTRAN-EXTRACT extracts the MAIN routine as well as all SUBROUTINES,
FUNCTIONS and BLOCKDATAS from FORTRAN source code. It is unsurpassed for breaking-up large
codes into manageable modules that can be individually modified, compiled, added to libraries and finally linked
into a single executable code. 3.FORTRAN-CLEANUP performs three critical functions to improve
FORTRAN source code readability: A. Renumbers FORTRAN source code statements within each routine to
begin at a user specified starting number; B. Adds spaces around delimiters and key words; C. Performs
indentation for DO loops, IF...Then and similar structures. If you are becoming weary of cleaning up “sloppy”
code then you need FORTRAN-CLEANUP. 4. FORTRAN-SCREEN lets you show off your software. This
is a complete set of FORTRAN callable screen attribute and cursor position control functions for creating user
friendly, interactive menus and displays. Requires MS-DOS 2.0, 256K, One Disk Drive, Compatible w/hard
disk. Shipped with Users Manual. . *179
Praise From Professionals
“PolyLibrarian is a powerful tool for serious
hobbyists and professional programmers. It
Is a thing of beauty; a work of art. The docu¬
mentation is excellent, the large selection
of commands are intuitive to learn and easy
to use, and the program itself provides a
service of inestimable value. It Is refreshing
to see a tool of this caliber available for seri¬
ous programmers. The design of this pro¬
gram shows foresight and Ingenuity. It sets
the human engineering standard for pro¬
gramming utilities. If all of a programmer’s
tools were so simple to work with, better
programs could be developed In less time
and with fewer headaches. Bravo, Polytron!
I look forward to your next product.”
Dan Rollins,
Programmer and Author writing in PC Age
“PolyLibrarian is an extensive, friendly utility
. . . an excellent tool for serious program¬
mers. It combines professional quality with
a flexible user interface.”
Greg Estes
Editor, Programmers Journal
“I am thoroughly pleased [PolyLibrarian] Is
definitely one of the best products of its
type that I have ever used on any system.”
An Unsolicited Comment from
Steve Kauffman
Consulting Engineer
Ok! Dokey
the case. X20KI, however, needs to
"'stay resident" in memory so it is
always ready for use. Otherwise,
when a printer interrupt happens, if
the handler has been overwritten by
a subsequently loaded program, the
system will crash.
Most programs stop with an
INT 20H, which lets DOS free up
the memory they used. X20KI, how¬
ever, ends with an INT 27H. This
is a special method of exiting that
informs DOS that part of the pro¬
gram that is about to stop needs to
stay resident. It's described (briefly)
in the DOS manual. Notice two spe¬
cial aspects of the way X20KI uses
this function:
1. The INT 27H is used only the
first time the program is run. Other¬
wise, every time the user typed
"X20Kr' another slice of memory
would be used up. The logic that
lets X20KI determine if it has been
run before is shown in listing 1.
2. X20KI doesn't keep more code
resident than it has to. The label
LAST marks the last location in
X20KI that needs to stay resident.
Everything after LAST is "tran¬
sient" and can safely be flushed
from memory when the program is
done running.
Trying to use printers other
than IBM's with the IBM PC can be
frustrating and time-consuming.
The program presented here should
help programmers solve their trans¬
lation problems and allow them to
print what they want to print, l""—I
Okidata Plug 'N Play Compatibility
F or people who have an Okidata
ML92 or ML93 and who want
IBM compatibility without program¬
ming, Okidata offers the Plug 'N
Play interface kit for $49. These two
replacement PROMs are installed in
the printer's control circuit board,
and the resulting Okidata-cum-IBM-
Graphics printer has a combination
of features from both printers. Corre¬
spondence quality printing, propor¬
tional spacing, and 160 CPS data pro¬
cessing mode are added to the IBM
Graphics printer's repertoire. Regret¬
tably, some standard Okidata fea¬
tures—notably, downline loadable
character generation and printing at
12 and 6 CPI—are made unusable.
All of the Graphics printer's
character spacing commands and
printer modes, including bit-mapped
graphics, are accepted by the Okida¬
ta, but their implementations differ
slightly in a few cases. Character set
1 is completely supported. In charac¬
ter set 2, all of the Greek and Span¬
ish characters, the mathematical
symbols, and the graphics symbols
are supported, but the card suit
shapes (ASCII decimal codes 03-06)
and some foreign characters (ASCII
decimal 129 and 131-159) are not.
Underlining on the Okidata is
continuous; the Graphics printer
does not underline between words.
The Okidata is designed for line
spacing in increments of 1/72-inch
or 1/144-inch, not 1/216-inch like
the IBM Graphics printer. In order
to approximate 1/216-inch spacing,
the Okidata multiplies the number
given in the Esc 3 or Esc I commands
by 2/3 and uses 1/144-inch spacing.
Because of rounding errors, there can
be a slight gap or overlap in printed
lines if the original number is not
evenly divisible by 3.
Many programs, especially word
processors, ask the user to indicate
the type of printer that is being used.
Once the Plug 'N Play Kit is in¬
stalled, the user should specify the
IBM Graphics printer, not the Okida¬
ta. Accompanying documentation
provides additional instructions for
inserting printer commands in Visi-
Calc, SuperCalc, WordStar, and Super
Writer.
An instruction booklet supplied
with the Plug 'N Play interface kit
contains complete and clearly illus¬
trated directions for installing the re¬
placement PROMs. The only tools
needed are a Phillips-head screw¬
driver and some marking tape. The
control circuit board containing the
PROMs is removed from its slot at
the rear of the printer; to do this,
seven connectors must be unplugged
from the circuit board. The marking
tape is used to label each connector
with its socket number in order to
make reinsertion easier. After the ex¬
isting PROMs are extracted, the re¬
placement PROMs are installed, the
circuit board is reseated, and the
playing begins.
Because the plugging process
takes about 15 minutes, switching
between the IBM Graphics printer
emulation and the pure Okidata
environment is not easy. Although
some of the Okidata ML92 and
ML93 features cannot be used with
the Plug 'N Play interface kit in¬
stalled, the replacement PROMs
yield a high degree of IBM compati¬
bility without any programming ef¬
fort, and with the associated benefits
that no user memory is dedicated to
a resident printer program and no
processing overhead is incurred in
translating codes.
—Julie Anderson
Listing 1: X20KI.ASM
***■»!** *********************************************** it******************
* This program traps the printer output interrupt (17H), and *
* translates outgoing IBM-style line drawing characters to codes *
* compatible with the Okidata 84p. *
* *
* Since the 84p doesn't fully implement all double-line characters, *
* we translate everything into single-line graphics. Other *
* graphics characters (hearts, happy faces, etc.) are not supported *
* in this program. *
* *
* The utility should be disabled prior to running any program (such *
* as Lotus 1-2-3) that depends on the Okidata graphics character *
* set or uses the Okigraph graphics printing facility. *
* USE: Giving the command "XZOKI" for the first time will install the *
* conversion utility and produce the report "X20ki installed and *
* running." Thereafter, giving the "X20ki" command will toggle the *
* translation feature off and on, reporting "X20ki temporarily *
* deactivated" or "X20ki reactivated." *
* Copyright (C) 1983 Jeffrey P. Garbers. All rights reserved. *
************************************************************************
CSEG segment para public 'CODE'
assume cstCSEG, dsrCSEG
; The printer interrupt number is defined by the PC to be 17H.
98
PC Tech Journal
Mylstar can cut
your IBM-PC
debugging time
in half.
Introducing MSD! Mylstar Symbolic Debugging
Program for IBM Personal Computers,
PC-DOS V 1.1, 2.0 and 2.1.
MSD greatly enhances your IBM DEBUG Program. Using the
same command structure as DEBUG, it lets you substitute
symbol names and mathematical expressions for hex values.
Batch files, on-line help, multi-command macros and other
time saving entries are also included.
Symbols
Every symbol declared public in a source module becomes
part of the symbol table. And new symbols can be created or
old ones changed as quickly and easily as you can type
them. And they can be stored for future use.
More than just a Symbolic Debugger
In addition to the examples shown below, MSD contains com¬
mands for break points, repeat loops and input/output redi¬
rection. It lets you define macros which can be saved and
used again. MSD also offers a Command to trace around
calls, DOS interrupt calls, and repeat string instructions.
And, because MSD supports the full set of DOS function calls
you can debug more programs than with any other currently
available debuggers.
MSD adds on what IBM left out
Call, write or check reader
circle number for addi¬
tional information. You can
start debugging faster for
only $125. Phone orders
accepted with Mastercard
or Visa numbers.
MYLSTAR
ELECTRONICS
INC.
165 West Lake Street
Northlake, Illinois 60164
Tel (312) 562-7400
Telex 72-8463
A Columbi. Picture. Indu.trl.s Company
CIRCLE NO. 167 ON READER SERVICE CARD
Dealer & Distributor Inquiries invited
*U\eETLINe L. IC
2O9AiOI0O E80D0O
209A:0103 e83AOO
209A;0106 7201
209A;010e C3
209A;0109 BA0003
209A:010C E84100
209A;010F C3
209As01l0 8B0E1C01
209A:0114 BF2001
209A:0117 B020
209A:0119 F3
209A:011A AA
209A2 0HB C3
CALL
CALL
JC
RET
MOV
CALL
RET
MOV
MOV
MOV
REPZ
STOSB
RET
DX,Offset ERROR_MSG
PRINT_MSG
ERROR:
CX.CBUFLENJ
Dl,Offset BUFFER
AL.20
*D \BUFFER L t\BUFLEN3
209A:0120 4D 59 4C 53
209A20130 20 44 45 42
«7.7.DBUF
•D \BUFFER L C\BUFLEN3
«.DBUF
D \BUFFER L C\BUFLEN3
209A:0120 4D 59 4C 53 54
209A20130 20 44 45 42 55
4C 49 43 MYLSTAR SYMBOLIC
32 2E 30 DEBUGGER V 2.0
265D; OlOO MOV ov.ATQPiP
■JliOUSUiTTS MOV AXi C\TABLE3
26SDt0106 SUB AX,\TABLECBX]
265D;010A DB '.TABLE, >TABLE
265Dx010C
tUlOO L A
2650:0100 B80010
2650:0103 AlOOlO
2650:0106 2B870010
AX,Offset TABLE
AX,CTABLE3
AX,tBX+Offset TABLE3
Arguments like
source listing
Labels inserted
Indirection
implemented
(value currently
stored at
BUFLEN used)
Create Macros
Execute Macros
Even use symbols
with assemble —
command
Symbolic
parameter
accepted
Oki DOKEy
PRINTERJNTERRUPT equ 17H
; The signature word is an arbitrary 16-bit number that we'll use in
; checking to see if the utility has already been installed.
SIGNATURE
equ 0944H
; DOS is a handy macro that calls DOS for service. Its first argument
; is a function code number. The second one (if it's there) is
; assumed
to be an offset that needs to be loaded into OX.
OOSmacro
fen code, location arg
mov
ifnb
mov
end if
int
endm
ah, fen code
<location arg>
dx, offset location arg
21H
; A couple
of DOS function codes, defined.
PRINT MESSAGE equ 09H
SET VECTOR equ 25H
; Programs
; address
to be passed through the EXE2BIN utility need to
lOOH.
start at
org
lOOH ; goes thru EXE2BIN
; Since PC-DOS will always start us at lOOH, we need to do a jump
; right away to get around the data and interrupt-handling stuff
; and get right to the program initialization.
HOME: jmp START ; skip around all the data space
; Data areas for X20KI.
; BIOS_HANDLER contains the doubleword address which used to be the
; printer interrupt handler. We leave here through the old vector,
; so any other interceptors that may have been installed (spoolers,
; etc.) will still work properly.
BIOSJiANOLER dd ? , ; address of former int handler
; The translation tables. The first table (PGJCHARS) contains the
; IBM-defined codes for the single and double line box drawing
; characters. The parallel second table (0KI_CHARS) contains the
; Okidata 84p codes for those characters. Notice that the lines of
; the OKI CHARS table are quite similar; this is because PC double-
; line characters are translated to Oki single-liners.
; NllMBER_OF_CHARS just lets the assembler figure out how many of
; these we have to look through.
; In order to expand the conversion tables, just add codes to both
; tables as needed, making sure that you keep the order straight.
PC_CHARS equ this byte
db 218,194,191,195,180,192,193,217,196,179,197 ;sng boxes
db 201,203,187,204,185,200,202,188,205,186,206 ; dbl boxes
db 214,210,183,199,182,211,208,189,215 ; combinations
db 213,209,184,198,181,212,207,190,216 ; more combos
NUMBER_0F_
_CHARS
equ $-PC CHARS
OKI CHARS
equ
this byte
db
152,145,153,147,146,154,144,155,149,150,143
db
152,145,153,147,146,154,144,155,149,150,143
db
152,145,153,147,146,154,144,155,143
db
152,145,153,147,146,154,144,155,143
; An area to save the incoming character, which we need to preserve.
INC0MING_CHAR db ?
.hit-kit***************************************************************
; START OF X20ki CODE
.*******************************************************************
The company that introduced micros to B-Trees in
PERFORMANCE
1979 and created ACCESS MANAGER^^ for Digital
Research, now redefines the market for high per¬
SDD(^] PORTABILITY
formance, B-Tree based file handlers. With c-tree™
to am ISAM [P/a\S[]3/a\@[1
you get:
• complete C source code written to K & R standards
at^ am UNBEATABLE
of portability
• high level, multi-key ISAM routines and low level
[PLSD6E1
0
B-Tree functions
• routines that work with single-user and network
systems
• no royalties on application programs
$395 COMPLETE
Specify format:
8" CP/M® 5'// PC-DOS 8" RT-11
for VISA, MC or COD orders, call toll free
1-800-232-3344
c-'tpee"
'
BYFAIFICOM
Access Manager and CP/M are trademarks of Digital Research, Inc.
c-tree is a trademark of FairCom.
2606 Johnson Drive
Columbia MO 65203
© 1984 FairCom
_ CIRCLE NO. 119 ON READER SERVICE CARD PC TECH JOURNAL
100
LOGITECH MODlJLA-2.
The only Modula-2 native code compiler for 8086/8088-
based machines and VAX® systems.
Compiled machine code means i/er//asf prog ram execution. LOGITECH
MODULA-2 means very fast, very effective professional program develop¬
ment. Here's how:
All the strengths of Pascal, plus improvements in every respect.
Wirth's Pascal language is favored for its support of structured programming,
elegant syntax, and ease of use.
Modula-2 is Wirth's second generation programming solution. All the
best features of his Pascal language have been incorporated; Modula-2
adds major features for true modularity, support for multi-tasking, syntax
improvements, and features for increased portability (to name Just a few).
Designed for structured, modular programming, LOGITECH MODULA-2
extends Pascal's strong type checking features to include type checking
between program modules.
Modula-2 is easy to learn. Programs are easy to write, read, and maintain.
A complete program development system.
LOGITECH MODULA-2 includes a complete implementation of Wirth's
design, plus additional LOGITECH modules (including display handling
and dynamic string handling).
A complement of powerful debugging tools—including compile-time
error checks and symbolic debugging—are included.
fanOrrECH MODL'LA-2 FEATURE SUMMARY:
B Complete Wirth Moclula-2 implementation.
■ true modular programming; full support
for large program development. Supports
multi-level overlays.
■ Development environments: MS™-D0S,
PC«-DOS, CP/M-Se®; VAXA/MS* (cross
compiler for 8086/88, compiler for VAX).
■ Compiles 8086/8088 native code for fast-
, , est execution. (Compiler available for VAX.)
Wt 8087 support for floating point arithmetic."
■ Multi-tasking; includes co-routines and
interrupts
ii Provides low-level software/hardware access
■ Includes symbolic debugger.
Professional support from the people who wrote LOGITECH
MODULA-2.
LOGITECH'S commitment to Modula-2 as a professional development tool
is backed by the most professional support available for Modula users. Because the
support team includes the developers of our Modula-2 implementation,
you are assured of fast, high-level answers to the toughest questions.
Continuous support of Modula-2 and related libraries includes regular
notice of updates, and low user update costs.
As the leading producer of Modula-2 for VAX systems and
8086/8088-based micros, LOGITECH is committed to protecting
and enhancing your language investment.
TVademarks: MS—MicFOSOft Corporation; MODULA-2/86, MODULA-2/VX86. M0DULA-2/VMS—LOGITECH, Inc.
Registered iVademarks: PC—International Business Machine Corporation, Inc;
CP/M-86—Digital Research inc; VAX, VMS—Digital Equipment Corporation
CIRCLE NO. 151 ON READER SERVICE CARD
Don't Start another project without
considering LOGITECH MODULA-2.
LOGITECH’S complete Modula
family:
□ MODULA-2/86native code
8086/8088 compiler: $495
□ M0DULA-2/VMS^“ VAX-resident
compiler: $1,500
□ MODULA-2/VX86^“ VAXtO
8086/8088 cross compiler: $4,500
To order, or for more information,
call or write:
ffl LOGITECH
Chris Gale, 805 Veterans Blvd.,
Redwood City, CA 94063. (415) 365-9852.
In Europe contact: Willy Steiger,
LOGITECH SA. Switzerland. (021) 77 45 45.
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
I
J
Oki Dokey
MAIN proc far
; The lodged part. This translates Oki chars to our chars.
HANDLER: jmp short HANDLEl ; skip data
; Don't change that jump or put anything between here and the INSTALLED
; and ACTIVE variables. Later we assume that they come right after
; the start of the handler.
; The INSTALLED variable is just an instance of the signature word.
; We can check for the presence of this word to see if the driver
; has already been installed.
INSTALLED dw SIGNATURE
; ACTIVE is 1 if the utility is active. If it’s zero, we just pass
; characters right through and don’t do any conversion.
ACTIVE db 1 ; we are active
Watch for the use of the CS: override prefixes in here. When we
get control, the only segment register we know about is CS (the
Code Segment), so we’ll use it to check to see if we're running.
HANDLEl:
mov cs:INCOMING CHAR, al ; save incoming character
; There are three cases in which we want to do nothing here and just
; skip right out to the HANDLEdone location (which passes control
; off to the old BIOS handler). Those are:
; (1) Utility not currently active.
cmp cs:ACTIVE, 1 ; are
jnz HANDLEdone ; we’re not running
; (2) Request to BIOS is not a "please print character" call,
; but rather a status or other request.
or ah, ah
jnz HANDLEdone ; not a print call
; (3) The character to be printed has a value below 128, and
; therefore can’t be a line drawing character. Testing
; for this allows us to pass most of the printing
; characters through quickly without having to scan
the table.
test al, BOH
jz HANDLEdone ; not a graphics char
; Okay, we have a character we may wish to do something to. First,
; let's save a few registers.
pushf ; need to save this because
push es ; we’re going to mess with
push cx ; the direction flag during
push di ; our scanning.
; The following two-instruction sequence gets a copy of CS into
; the ES register. We will be scanning the table that exists in
; this segment,
push cs
pop es
; When scanning a table, you must:
; (1) Point ES:0I to the start of the table (we've already
; done ES)
mov di, offset PCJCHARS
NEW Ver. 2.2
Easier — More Power
c
WINDOWS
FOR C “
SETS THE STANDARD
FOR THE IBM PC + COMPATIBLES
Lattice C, C86,
DeSmet C, Microsoft C
ADVANCED SCREEN MANAGEMENT
MADE EASY
IMPROVE
• Help files
ADVANCED FEATURES
Unlimite(d win(jows an(d text files
Wor(d wrap, auto scroll
Horizontal and vertical scroll
Fast! + No flicker or snow
No memory in screen buffers
Complete color control
Auto memory management
Save and move window images
Easy overlay and restore
Format and print with windows
Highlighting
WINDOWS^+
Much more than a window
display system. Windows for
C is a video display toolkit
that simplifies all screen
management tasks.
SIMPLIFY
Menus
Data screens • Editors
Form printing • Games
ALL DISPLAYS
C SOURCE MODULES FOR
pop-up menus, multiple window
displays, label printer, cursor
control, text mode bar graphs.
plus complete
building block subroutines
DESIGNED FOR
PORTABILITY
Minimal dependence on
IBM BIOS and 8086 ASM
FULL SOURCE AVAILABLE
NO ROYALTIES
WINDOWS FOR C $150
(specify compiler & version)
Demo disk and manual $ 30
(applies toward purchase)
Dealer Inquires weicome
A PROFESSIONAL SOFTWARE TOOL FROM
CREATIVE SOLUTIONS
21 Elm Ave, Box T9, Richford, VT 05476
802 - 848-7738
Master Card & Visa Accepted
Shipping $2.50
VT residents add 4% tax
CIRCLE NO. 121 ON READER SERVICE CARD
For your IBM/PC
mbpooBcX:
4 times fesCei;
and now with
SOKr& CHAIN
I75Q
mbp COBOL can be summed up
in one word: fast.
Because it generates native
machine language object code, the
mbp COBOL Compiler executes
IBM/PC* programs at least 4 times
faster (see chart). Fast also describes our new SOR% which can sort four-
thousand 128-byte records in less than 30 seconds. A callable subroutine or
stand-alone, 9 SORT
control fields can be
specified. And our new
CHAIN is both fast and
secure, conveniently
transferring control from
one program to another, passing 255 parameters. Plus, new
extensions to ACCEPT & DISPLAY verbs give better, faster
interactive programming.
GIBSON MIX Benchmark Results
Calculated S-Profile
(Representative COBOL statement mix)
Execution time ratio
mbp
COBOL
Level ir*
COBOL
COBOL
Microsoft****
COBOL
LOO
4.08
5.98
6.18
128 K system with hard
is a Micro Focus TM; **
disk required. MBM/PC is an IBM TM; •'Level H
•A Ryan-McFarlandTM; •*** A Microsoft TM.
mbp COBOL:
4 times faster.
The
complete
COBOL.
An Interactive Symbolic Debug Package
included standard; Multi-Keyed ISAM Structure;
listing options allow source & object code, map
& cross-reference checking; GSA Certification
to ANSI ’74 Level II; mbp has it all.
It’s no surprise companies like Bechtel,
Chase, Citicorp, Connecticut Mutual, and
Sikorsky choose mbp COBOL; make it your
choice, too. mbp is available at Vanpak Soft¬
ware Centers, or direct; just send the coupon,
or call for complete information—today
CIRCLE NO. 165 ON READER SERVICE CARD
Ho?'
mbp Software & Systems
Technology, Inc.
7700 Edgewater Drive, Suite 360, Oakland, CA 94621
Phone 415/632-1555
Please send complete mbp COBOL information to:
CITY/STATE/ZIP _
OKI Dokey
; (2) Set CX to the size of the table
mov CX. NUMBER_OF_CHARS
; (3) Set or clear the direction flag to indicate the
; direction of the scan (normally CLO)
cld
; Now everything is set up for the scan. Let's use the nice
; 8088/8086 instructions to do it. The one we're going to use will
; scan bytes until it finds a match, or until it runs out of table.
; The REPNZ prefix means "repeat this instruction while there isn't
; a match."
repnz scasb ; look it up
jnz HANDLEscanOone ; couldn't find it
; Now DI points one past the matching entry (remember that 01 is
; always adjusted, even if we find a match. We now need to convert
; 01 into an offset into the 0KI_CHARS table. Since we started 01
; at the offset of PC_CHARS, and since we're one beyond our match,
; we can subtract one more than our starting spot to find our offset
; into the 0KI_CHARS table. Messy? A little. Work it out on
; paper if you have trouble picking up on this notion.
sub di, offset PC_CHARS+T ; make it an offset
mov al, es:0KI_CHARS[di]
; Okay, either we've translated the character or we don't know how
; to translate it. Recover the registers we saved, and split out
; to the original BIOS handler.
HANDLEscanOone:
pop di
pop CX
pop es
popf
; Notice again the use of the CS override here. We have not used the
; OS register at all during this handler.
HANDLEdone:pushf ; must PUSH before manually
; calling an int. handler
call cs:BI0S_HANDLER
mov al, CS :INC0MIN6_CHAR ; recover original character codes
iret ; and return to caller
; Since we're going to be doing an end-but-stay-resident, we'll
; need to mark where the handler part ends. The label LAST will
; serve nicely.
LAST equ this byte ; last part of
; resident
. 1c******************************************************************
TRANSIENT PART of X20ki
; See text of article about the difference between the
; resident and transient parts of an interceptor program.
. *******************************************************************
START: push ds
xor ax, ax
push ax ; .COM programs start
; like this
; AX is already zero, and we want to look at an interrupt handler's
; address (which lives in segment 8000). So let's just move our
; zeroed AX into ES for snooping purposes. We'll set SI to 17H
; (the printer service interrupt) times 4 (the number of bytes in
; each handler address).
COOSOL COMPUTER PRODUCTS
PRINTERS
MONITORS
DOTMATRIX
• OKIDATA82A,83A,84
• OKIDATA92.93,2410
• OKIDATA IBM PLUG AND PLAY KIT
• EPSON FX-80 • FX-100
• EPSON RX-80 • RX-80F/T
• EPSON MX-100 WITH GRAFTRAX +
• EPSOM LQ-1500
• C.ITOH8510
• TALLY SPIRIT 80
• GEMINI 10X
• RITEMANBRIEFCASESIZE
• TOSHIBA 1351 AND 1340
• IDS PRISM • NEC 8027 AND 8025
CALL 7 DAYS PORLOWPRICES
COOSOL, INC., P.O. Box2642, Costa Mesa, CA92626-2642
Computer Baron, 3013 HarborBlvd., Costa Mesa, CA92626 (714)979-2488
PRINCETON GRAPHICS RGB
TAXAN GREEN/AMBER/RGB
COMREX GREEN/AMBER/RGB
AMDEK GREEM/AMBER/RGB
NEC GREEN/AMBER/RGB
MODEMS
HAYES SMARTMODEM 300, 1200
and1200B
• NOVATION J-CAT
• SIGNALMAN
LETTER QUALITY PRINTERS
NEC 2000 SERIES
NEC3500AND7700SERIES
DIABLO 620 AND 630 SERIES
DAISYWRITER 2000
C.ITOH FI0-40 AND FI0-55
BROTHERS HR—15 HR-25 AND HR-35
COMREX CR-11 AND CR-111 • SILVER REED
PRINTERACCESSORIES
IBM CPU CARDS
• AST6PAKPLUS • STB
• QUADLINK • PERSYST
• HERCULES GRAPHICS
• AMDEK MAI GRAPHICS
(714)545-2216
CIRCLE NO. 197 ON READER SERVICE CARD
Vdume5.'Nun*ef3
i WI^DIIS
r4*Gr.>«3Jk/ Pi»
wer/iR
W^^M&IXSonS-lOO
(>e(vtew
'fsafaong
CP/1122
?/o(l!>TigFof»an-BO
V^Renjrnng
cp/»n®
argjngioBaby
l^Kfliyare Reviews
UjmasLDP-2 _ .
Oiri ^sterns SKM-'W
IIS-OBS-l
Anew I
support
sonwaePortews forfies
Magc&nci and
p^iidierals
Oi^Pararretets
i OebocJqng
\fc>iiT« 5 /l'iunnfcef
'^*^S44frber5
^mrsTARfSU
Mr&Gpyw
^f^X:aVNXFfatBv
fSP/HZZ
l ogcadrg to EE Comi^sl^
SiDj5js
V ■;
SVNONV^l
N£WI>fi6Q0CTS
-rioigErtlAN
V5wafcr[^j9g^
^ %’.tilreCQndSorer
^■i£wCoai20cpsftiTe
andaui
Please judge this book by its cover.
Everything you need to know about MICROSYSTEMS is
right there on the cover. It is, pure and simple, The Journal
for Advanced Microcomputing. A professional resource
that takes you far beyond the basics of most computer
magazines.
MICROSYSTEMS is for sophisticated users and designers
who need straightforward, no-frills input on advanced
microcomputer programming and technology. People who
create their own systems for important business, personal,
scientific and educational applications.
Whether you use CP/M®, MP/M®, MS-DOS^“, UNIX®,
XENIX" or OASIS-MICROSYSTEMS will provide you with a
monthly package of expert tutorials on valuable modifi¬
cations and special uses. The field's leading authorities will
show you how to upgrade. Download. Modify. Debug.
Interface. Patch. Speed up. Short cut. Customize.
You'll get more power, more versatility, more
performance from your DOS for every infor¬
mation processing job. For example, here's the
type of high-level guidance you can expect in
the months ahead:
• How to access the wealth of free software
available from Remote CP/Ms
• HP-GL: Add graphics to any computer system
• More WordStar mods for the Z-19
• Twenty-seven 16-bit DOS compared
• Reviews of four C compilers: BDS C, Small C,
tiny c TWO" and Whitesmiths C
Save up to 31% on
THE JOURNAL FOR
ADVANCED
MICROCOMPUTING!
• 488 Bus Tutorial: What the IEEE-488 GPIB bus does and
how to use It
• Interfacing the Epson MX-80 printer via a parallel port
• Will solid-state drives replace the hard disk?
• Review of CompuPro's MPX-1 Multiplexer Channel
And there's more. Regular departments include industry
news and insider's reports.. .The S-100 Bus...The Unix
File... In the Public Domain... Book Reviews... New Prod¬
ucts... plus the Software Directory, detailing newly avail¬
able programs.
How high-level Is MICROSYSTEMS? If you use compu¬
ters in your profession, the cost of your subscription may
be tax-deductible. And if you act now—while this New-
Subscribers-Only offer is In effect—you can save up to 31%!
MICROSYSTEMS. When it comes to customizing soft¬
ware and adapting hardware, no one covers the field better.
M”# TK JOURNAL RMADVAIICOAACaOCOMPU^
Vncmsvslens
(Savings based on
full one-year
subscription price
of $26.97.)
P.O. Box 2930 Boulder, CO 80322
YES—Please enter my subscription to MICROSYSTEMS Immediately
at the NEW-SUBSCRIBERS-ONLY rate I've checked below: msszoh
□ One year (12 issues) only $21.97—I savel9%!
□ Two years only $40.97—I save 24%!
□ Three years only $55.97— I save 31%!
Check one:
□ Payment
enclosed
□ Bill me later
Charge my:
□ MasterCard
□ Visa
□ American
Express-
Mr./Mrs./Ms.
Company
(please print full name)
AHHrp«;<;
City
State
-Zip-
L Card No_txp. uaie-
Add $5 a year in Canada, all other foreign add $8. Please allow 30 to 60 days for delivery of first issue. J
Exp. Date.
OKI Dokey
mov
mov
es, ax
si, PRINTER_INTERRUPT*4 ;
; point to
; installed address
; First, we'll get the address that's there
so we can call it later.
lods
mov
lods
word ptr es:[si]
word ptr BIOS_HANDLER, ax
word ptr es:[si]
mov
word ptr BI0S_HANDLER+2, ax
; We've now got the old handler in BIOS HANDLER. Pick it up as a
; 32-bit
pointer so we can see who's there.
les
si, BIOS HANDLER
; We know that if it’s our handler, there's
; bytes beyond the beginning of the handler
the SIGNATURE word two
(our handler starts
; with a
short jump). See if it's us, and
if it isn't, install us.
emp
word ptr es:[si+2], SIGNATURE ;
this us?
jnz
INSTALL
not yet--instal1 us
; Toggle the on/off setting. The ACTIVE flag lives four bytes beyond
; the handler—let's flop its setting.
mov
al, es:[si+4]
; pick up running flag
xor
al, 1
; flip the bit
mov
es:[si+4], al
; replace it
; Okay,
; our
we now have AL as the new
current state.
state. Give a message saying
mov
dx, offset m$RUNNING
; for now, assume it's running
emp
al, 1
; were we right?
jz
MSG N SPLIT
; yes, take this
mov
dx, offset m$OFFNOW
; report "off"
; When we get here, DX is pointing to a status message. Print it
; and leave.
MSG_N_SPLIT: DOS PRINT_MESSA6E ; "print message" function
ret ; goodbye!
; If we get to this spot, it's the first time that the program has
; been run. Install our own handler into the interrupt vector,
; report this event with a message, and let DOS know we want to stay
; around.
INSTALL:
mov al, PRINTER_INTERRUPT ; printer interrupt, please
DOS SET_VECTOR HANDLER ; DOS function 25h is "set
; interrupt"
DOS PRINT_MESSAGE m$NOWREADY
; Everything's complete. Leave the program via INT 27H with DX
; pointing to the end of the resident part, and DOS will keep
; the important stuff around while freeing up the memory occupied
; by the part that's not part of the interrupt handler per se.
mov dx, offset LAST+1 ; point to the end of the
; fixed part
int 27H ; end-but-stick-around
; Three status report messages.
m$NOWREADY db "X20ki installed and running.$"
m$RUNNING db "X20ki reactivated.
m$0FFN0W db "X20ki temporarily deactivated.
MAIN endp
CSEG ends
end HOME
MicrcWay '" 8087 SUPPORT and FORTRAN
REALTIME MULTI-TASKING/
MULTI-USER EXECUTIVE-RTOS
RTOS is a MicroWay configured version of
iRMX-86. Includes ASM-86, LINK-86, LOC-86,
LIB-86, and the ROM Hex Loader.$600
87 FORTRAN/RTOS”* - our adaptation of
the Intel Fortran-86 Compiler generates in line
8087 code using all 8087 data types Including
80-bit reals and 64-bit integers. The compiler
uses the Intel large memory model, allowing
code/data structures of a full megabyte, and
supports overlays Includes RTOS and support
for one year.$1350
RTOS DEVELOPMENT PACKAGE
includes 87FORTRAN, 87PASCAL, PL/M-86,
Utilities TX Screen Editor and RTOS.... $2500
OBJ-ASM” a multipass object module
translator and disassembler. Produces
assembly language listings which include public
symbols external symbols and labels
commented with cross referencea Ideal for
understanding and patching object modules
and libraries for which source is not
available.$200
*Formerly MicroWare, Inc. - not
affiliated or connected with
MicroWare Systems Corporation
of Des Moines, Iowa.
Micro
l/\lay
P.O. Box 79
Kingston, Mass
02364 USA
(617) 746-7341
MWS'286 Configured to your specifica¬
tions our computer runs RTOS-286 or XENIX.
Includes one Intel compiler, seven slot multibus
chassis hard dIsK streaming tape backup and
Intel Service Contract Six to twenty times faster
than your PC.CALL
87BASIC'“ includes patches to the IBM
Basic Compiler and both runtime libraries for
USER TRANSPARENT and COMPLETE 8087
support Provides super fast performance for all
numeric operations including trigonometries
transcendentals addition, subtraction,
multiplication, and division.$140
87MACRO“ - our complete 8087 software
development package. It contains a “Pre-pro¬
cessor,” source code for a set of 8087 macros,
and a library of numeric functions including
transcendentals, trigonometries, hyperbolics
encoding, decoding and conversions... $150
87 DEBUG"' - a professional debugger with
8087 support a sophisticated screen-oriented
macro command processor, and trace features
which include the ability to skip tracing through
branches to calls and software and hardware
interrupts Breakpoints can be set in code or on
guarded addresses in RAM.$150
87 BASIC/IN LI NE“ generates inline
8087 code! Converts the IBM Basic Compiler
output into an assembly language source listing
which allows the user to make additional
refinements to his program. Real expression
evaluations run five times faster than in
87 BASIC.$200
YouCan
TalkTbUs!
8087-3 CHIP $175
including DIAGNOSTICS and 180-day warranty
64K RAM Set $47“
UATRIXPAK- manages a MEGABYTE!
Written In assembly language, our runtime
package accurately manipulates large matrices
at very fast speeds Includes matrix inversion
and the solution of simultaneous linear equa¬
tions Callable from MS Fortran 3.2, 87 MACRO,
87BASIC, and RTOS.each $150
87/88GUIDE .$30
MICROSOFT FORTRAN 3.2.... $239
MICROSOFT PASCAL 3.2 $209
These IEEE compatible compilers support
double precision and the 8087
MICROSOFT C COMPILER Includes
Lattice C and the MS Librarian.$350
LATTICE C with 8087 support.$350
FLOAT87 for MS C.125
SuperSoft Fortran 66.329
STSC APL^ PLUS/PC.500
TURBO PASCAL.45
TURBO PASCAL with 8087 Support.85
SIDEKICK.45
HALO GRAPHICS.CALL
GRAPHMATIC.125
ENERGRAPHICS.295
Professional BASIC.295
COSMOS REVELATION.850
SCO XENIX 595
UnIsource VENIX/86 .~rr“'^T.‘T..800
MAYNARD WS1 HARD DISK.995
MAYNARD WS2 HARD DISK.1170
MAYNARD ELECTRONICS Boards.CALL
NO CHARGE FOR CREDIT CARDS
ALL ITEMS IN STOCK
CALL FOR COMPLETE CATALOG
CIRCLE NO. 174 ON READER SERVICE CARD
My computer keeps track of B5f)00 cubic
feet of wholesak autoparts.^^
The more work
you do, the more you
need to store. And
the harder it is to
work with stacks of
floppy diskettes.
Sysgen-II-G™ hard
disk systems store
everything—up to
20 Megabytes—
conveniently. You
can look at any
program or file in
seconds. But...
^^My Sysgen hard disk stores
thewh^lotand
runs a whole lot faster.^^
Any hard disk can
fail—and lose your
information. So
every Sysgen-II-G
hard disk includes
‘/j" cartridge tape
back-up—up to 20
Megabytes per
cartridge. (We make
back-up systems for
other hard disks,
too.) So you can
protect your files in
minutes. Instead of
spending hours
re-entering them.
**Aml
Msktsmeskep
atnight.*^
%sgen.
Because a hard disk without tape
just doesn’t make sense.
Sysgen products for the IBM* PC, PC and other
personal computers: Economical, 10- and 20-Megabyte
hard disk systems with tape back-up. Or 10-Megabyte
tape back-up for the IBM PC XT.
Go to your local computer dealer. Ask for a
demonstration of Sysgen back-up systems. And find out
how to make sense of your storage.
47853 Warm Springs Blvd., Fremont, CA 94539
(415) 490-6770 Telex 4990843
SYSGEN
INCOR PORATED
IBM PC-XT and IBM PC are trademarks of International Business Machines Corporation. SYSGEN-II-G and IMAGE are trademarks of Sysgen, Incorporated.
PC-DOS 2.0
Version: l .O
/NSI n ON TATE ■
10150 NMoitl Jottoraon Otv<1.
Culvor City. CA 00230 (213) 204-5570
TELEX 004228 A3MTATE CULV
Mcwe power
tO)OU.
Remember the magic you
expected when you first purchased
a PC?
It's here.
dBASE ni™ is the most power¬
ful database management system
ever created for 16-bit
microcomputers. It puUs
every ounce of energy
out of your PC and puts
it to work.
On top of that, it's
fast and it's easy. ^
You've never seen
anything like it.
dBASE in can handle over a biUion
records per file, limited only by your com¬
puter system. You can have up to ten files
open, for sophisticated applications pro¬
grams.
When you have two related files, infor¬
mation in one can be accessed based upon
data in the other.
dBASE in now handles procedures,
parameter passing and automatic variables.
You can include up to 32 procedures in a
single file. With lightning speed. Because
once a file is opened, it stays open. And
procedures are accessed duectly.
Easier than ever.
dBASE m uses powerful yet simple
commands that are the next best thing to
speaking English.
If you're unsure of a command, HELP
will teU you what to ask for.
n you don't know what command
comes next, a command assistant does. AH
you have to know is what you
want it to do.
Our new tutorial/manual
will have you entering and
viewing data in minutes rather
than reading for hours.
And to make matters
easier, you get a full screen
report setup for simple infor¬
mation access.
Faster than no time at all.
dBASE HI isn't just fast. It's ultra-fast.
Operating. And sorting. Even faster^ is no
sorting. Because dBASE HI keeps your
records in order, so you really don't have to
sort anything. Unless you want to. Then
watch out!
What about dBASE II®?
It's stiU the world's best database man¬
agement system for 8-bit computers. And
it's still the industry standard for account¬
ing, educational, scientific, financial, busi¬
ness and personal applications.
Tap into our power.
For the name of your nearest authorized
dBASE HI dealer, contact Ashton-Tate, 10150
West Jefferson Boulevard, Culver City, CA
90230. (800) 437-4329, ext. 333. In Colorado,
(303) 799-4900.
CIRCLE NO. 300 ON READER SERVICE CARD
/SHTDN-TOE
©Ashton-Tate 1984. All rights reserved. dBASE III and Ashton-Tate are
trademarks and dBASE II is a registered trademark of Ashton-Tate.
New Release 1.8 — SOLID GOLD
CocleSmith'"-86
|B;fabcode.COM*
■CodeSmith-86"
Also runs on some IBM-PC Compatibles
PL ZR NC l\IV UP NA PE El
AX=8086
BX=D000
CX=0000
33=1983
03=1984
E3=1985
C3=2001
IP=0001
2001:0000
2001:0001
2001:0004
2001:0007
2001:0000
2001:000E
2001:0011
2001:0013
2001:0015
2001:0015
2001:0019
2001:0016
53
9BDEC2
BB3100
803E5E-
7305
BB0100
EB02
F2AB fflWH
80AD63-
240C
45
OJNIT:
BX ;TAG A LINE
8T(2),3T
BX,Offset VECTOR_TABLE_2
DOS_VERSION_MUM,T ;BREAKPOINT SET
TRA8H_IT
BX,Offset VECT0R,TABLE_1
3hopt L0NG_LABEL8_ARE_0K_A6_Y0U_LIKE
STOSW ;STBP 777th TIME
m CMP BOS-VERSION.
JAE TRA8H_IT
MOV BX,0ffset VECTOI
JMP 3hopt LONG.LAE
TRASH-IT: REPNZ STOSW
LONG LABEL3_ARE_0K_A8_Y0U_LIKE:
. LEA BP,WIERD_CODE
AND AL,00011100B
DB 69
;BREAKPOINT SET
iCHANGE RADIX
D08_VERSI0N_NUM
MEMORY
Absolute Address=03C9E 3 egment:Dffset=03C4:005E
'2I
41 53 43 49 49 20 53 55-50' 50 4F 52 54 20 M 20
20 20 20 20 43 6F 64 65-53 60 69 74 68- 20 38 36
20 40 41 4B 45 53 20 44-45 42 55 47 47 49 4E 47
20 41 20 42 4C 41 53 54-21 20 20 20 20 20 20 20
AGCII GUPPORT
— Code3mith-8G
MAKE3 DEBUGGING
A BLA3T!
It’s here-THE Multi-Window Interactive Debugger that’s STATE-OF-THE-ART.
Scroll Up/Down thru full-screen disassemblies & memoiy dumps
Load and Write Commands much easier, more powerful than DEBuvj.
“Snapshot” a complete debugging state onto disk-resume later
passpoints and execution path counters
SCREENSAVE mode saves and restores user’s graphic display when breakpoint hit
* Disassemble selected ranges of memoiy code to disk—compatible with IBM Assembler
on data Read/Write or memory range access
Hot-Line technical support
The Professional’s Choice— CodeSmhh-86
\ Multiple copies purchased by:
Lotus Development Corp., MicroPro, VisiCorp, IBM.
\ Requires MS-DOS & 160K RAM.
OEM and dealer inquiries invited.
VISURL RG€
642 N. Larchmont Blvd. • Los Angeles, CA 90004
CIRCLE NO. 140 ON READER SERVICE CARD
CodeSmith.TM International Arrangements, Inc.
MS, TM Microsoft Corp.
IBM, TM International Business Machines Corp.
An excerpt from
Bluebook of Assembly Routines
for the IBM PC
S tring manipulation is an important part of computing that is useful in
text editing and database management. The assembly language rou¬
tines in this article are fundamental to both of these application areas.
The first two routines, called LOWERCASE and UPPERCASE, convert
characters within a string from upper-case to lower-case and from lower¬
case to upper-case. The next two—STRSEARCH and STRINSERT—each
require two input strings. STRSEARCH searches for a copy of one string in
another, and STRINSERT inserts a copy of one string within another.
Next are two routines—LEXSEARCH and LEXINSERT—that require a
string and a list of strings as input. These routines deal with lexigraphic-
ally ordered strings. Lexigraphical order is another name for alphabetical or¬
der. It is important to understand, however, that for these routines the indi¬
vidual characters are ordered according to their ASCII code. For example,
all upper-case letters precede lower-case letters. If lexigraphical ordering of
the words is desired, the routines can be changed so that all lower-case let¬
ters are converted to upper-case before being used in comparisons.
Editor's Note.- This is the third excerpt from Bluebook of Assembly Routines for the IBM PC,
a Waite Group book by Christopher L Morgan. (Morgan is also the author, with Mitchell
Waite, of 8086/8088 16-Bit Microprocessor Primer and Graphics Primer for the IBM PC.)
This book is part of the New American Library series of IBM PC computer-language books
that have been issued under the Plume/Waite imprint.
The first excerpt appeared in the March issue of PC Tech Journal and dealt with assem¬
bly routines to control the graphics capabilities of the IBM PC. In April, the second excerpt
was published; it concerned assembly routines to control sound on the IBM PC. —WF
Copyright ® 1984 by The Waite Group
September i984
111
THE NEWS
WEEKLY FOR
IBM SYSHM
MICRO
COMPOTERS
The first weekly newspaper designed to
give key executives the latest
IBM Personal Computer news and analyses—
as soon as it happens!
To keep your company in the
forefront of today’s rapidly changing
IBM Personal Computer technol¬
ogy you need timely information.
Information that’s clearly written,
bringing you the news the way you
need it, when you need it. You need
PC WEEK.
PC WEEK is the first and only
weekly newspaper devoted to IBM
Personal Computer news—with the
latest breaking stories as they
develop.
PC WEEK follows and reports the
news—up to 48 hours before
publication—so you learn what’s
new when it’s new! You’ll find
research updates, strategic analysis,
new hardware and software
reviews, insights on future industry
concerns and controversies, and
the timely information you need to
help make you more productive and
efficient.
Every week you’ll find outstanding
features and departments
covering...
• NEWS: PC WEEK brings you
analytical reports on the
major topics of the day.
Product announcements and
company changes are ana¬
lyzed and put into perspec¬
tive, helping you plan for
future investments and
developments.
• STRATEGIES: Every week
you get an in-depth profile of
a leading user company and
how they use their IBM and
compatible personal com¬
puters. Case studies help you
evaluate the success and
failure of new applications—
some you even may have
been considering.
• INDUSTRY TRENDS: Discover
what’s happening behind the
scenes in new product
development from both hard¬
ware and software manufac¬
turers and what this could
mean to the future of your
company.
• PRODUCT REVIEWS: In-
depth reviews of important
new hardware and software
releases tell you what prod¬
uct is right for your operation,
and the technical and finan¬
cial considerations involved.
• FOCUS ON: The latest news
and events in specific prod¬
uct areas are detailed every
week. We cover file systems,
3270 products, graphics
software, input hardware,
database managers, pro¬
gram generators, multifunc¬
tional applications—the
information you need for your
IBM installation.
• BUYERS GUIDES: Special
sections with careful evalua¬
tions and comparative charts
to help you select the proper
peripherals and software
packages for your operation.
From word processing to
local area networks or com¬
patibles, you’ll find complete
and unbiased reviews and
listings.
Your subscription to PC WEEK is
complimentary if you qualify. Take a
moment, fill out the Qualification
Form at right and return it to
PC WEEK today.
PC WEEK, your vehicle to stay in
the forefront of tomorrow’s IBM
Personal Computer technology.
Get the news you need every week, first hand, with PC WEEK.
Strings
LEXSEARCH searches for the
proper place to insert a string in a
lexigraphically ordered list of
strings, and LEXINSERT inserts a
string in the proper place in a lexi¬
graphically ordered list of strings.
LEXINSERT is built upon the ear¬
lier routines in that it calls
LEXSEARCH to find the proper
spot and then calls STRINSERT to
make the insertion.
The last three routines—COM¬
PARE, SWITCH, and BSORT-
work with string arrays. COMPARE
is used to compare two strings of
equal length. It enables the user to
compare two different entries of the
same string array. SWITCH is used
to switch two strings of the same
length—for example, two different
entries of the same string array.
Both of these routines are needed
by BSORT, which performs a bub¬
ble sort of a string array. Although
bubble sort is not one of the fastest
methods of sorting, it is easy to pro¬
gram, as is illustrated by the
BSORT routine. Because this rou¬
tine is written in assembly lan¬
guage, it runs quickly despite the
inherent slowness of the method.
These routines take advantage
of the 8088 string instructions.
Notice how easy string scanning
and comparing is when using these
string instructions; the COMPARE
routine has only one instruction
besides the PUSHes and POPs to
save the registers. imi—i
Listing 1 LOWERCASE
FUNCTION: This routine converts the characters
in a string to lower-case.
INPUT: Upon entry DS;BX points to a string. The
first two bytes in the string form a 16-bit integer
that specifies the length of the string. The remain¬
ing bytes contain the characters of the string.
OUTPUT: Upon exit all alphabetical characters of
the string are lower-case.
REGISTERS USED: No registers are modified.
SEGMENTS REFERENCED: Upon entry the
data segment must contain the string.
ROUTINES CALLED: None
SPECIAL NOTES: None
CODE:
; ROUTINE
TO CONVERT STRING
TO LOWER CASE
lowercase
proc far
push
bx
; save registers
push
cx
push
ax
; get the
length
mov
cx,Cbx]
; first two bytes contain the length
Inc
bx
; point to beginning of text
inc
bx
; loop through the bytes of
the string
lowercasel:
mov
al.Cbx]
; get the character
cmp
al.'A*
; below the upper case characters?
jb
lowercaseZ
; skip if so
cmp
al.'Z'
; above the upper case characters?
ja
lowercaseZ ;
; skip if so
or
al.ZOh
1 OR bit 5 into the byte
lowercaseZ
mov
[bx],al ;
; store the character
inc
bx ;
; point to next character
loop
lowercasel
pop
ax ;
, restore registers
pop
cx
pop
bx
ret
lowercase
endp
Listing 2 UPPERCASE
FUNCTION: This routine converts the characters
in a string to upper-case.
INPUT: Upon entry DS:BX points to a string. The
first two bytes in the string form a 16-bit integer
that specifies the length of the string. The remain¬
ing bytes contain the characters of the string.
OUTPUT: Upon exit all alphabetical characters of
the string are upper-case.
REGISTERS USED: No registers are modified.
SEGMENTS REFERENCED: Upon entry the
data segment must contain the string.
ROUTINES CALLED: None
SPECIAL NOTES: None
CODE:
; ROUTINE TO CONVERT STRING
TO UPPER CASE
uppercase
proc far
push
bx
; save registers
push
cx
push
ax
; get the length
mov
cx,[bx]
; first two bytes contain the length
inc
bx
; point to beginning of text
inc
bx
; loop through the bytes of
the string
uppercasel:
mov
al.Cbx]
; get the character
cmp
al.'a'
; below the lower.case characters?
jb
uppercase?
; skip if so
cmp
al.'z'
; above the lower case characters?
ja
uppercase? ;
; skip if so
and
al,5Fh
; mask out bit number 5
uppercase?:
mov
Cbx],al
; store the character
inc
bx
; point to next character
loop
uppercasel
pop
ax
; restore registers
pop
cx
pop
bx
ret
uppercase endp
September i984
113
Strings
Listing 3 STRSEARCH
FUNCTION: This routine searches for a copy of a
source string within a destination string.
INPUT: Upon entry DS;BX points to a source
string and ES:DX points to a destination string. Each
string begins with a 16-bit integer that specifies the
length of the string.
OUTPUT: Upon exit AL contains a return flag
(0=not found, OFFh=found)— and if the search
was successful DX contains the location of the first
byte of the match in the destination.
REGISTERS USED: Only AX and DX are modi¬
fied. They are used for output.
SEGMENTS REFERENCED: Upon entry the
data segment must contain the source string, and
the extra segment must contain the destination
string.
ROUTINES CALLED: None
SPECIAL NOTES: None
CODE:
; ROUTINE TO SEARCH FOR ONE STRING WITHIN ANOTHER
strsearch proc far
push si ; s*ave registers
push d1
push cx
; get length of destination
and point to first byte
mov
si.dx ;
use source index
lodsw
get the length of destination
mov
cx,ax ;
use the length as a count
mov
dx.si
text begins here
strsearch!
; point indices to beginning
of source and destination
mov
si.bx ;
load source index
mov
di.dx ;
load destination index
; scan for match
mov
al,Csi+2] ;
get the first character
cld
;
forward direction
repnz
scasb ;
scan for match
jcxz
strsearch2 ;
quit if found no match
; got a match of first characters - now check the entire string
mov
dx,di ;
save current destination loc
dec
di ;
beginning of word
lodsw
;
get length of source
xchg
cx,ax ;
use source count and save dest count
repz
cmpsb ;
compare the two strings
jcxz
strsearch3 ;
it*s a match if no more source
; continue
the scan
xchg
cx,ax ;
use destination count
jmp
strsearch! ;
back for more scanning of dest
; no match
is possible
strsearch2:
mov
al ,0 ;
unsuccessful outcome
jmp
strsearchexit
; found a match
strsearch3;
dec
dx
point to beginning of match
mov
al.OFFh
successful match
jmp
strsearchexit
mommKcm
mmHM/umsmm
MOVING?
Please let us know 6 weeks In ad¬
vance so you won't miss a single
issue of PC TECH JOURNAL,
Now you can put them online with Explain^*"... the docu¬
mentation system from Communication Sciences, inc.
CS/'s Explain takes you a step beyond the editing/
printing cycle used for the traditional manual. With Explain,
writers create and update documentation online, as a data
base. And they don’t have to be programmers to do it.
Once your documentation is online, it can stay online.
Readers can get to it with the touch of a key, either directly
from your applications or through Explain itself.
User help. Program guides. Procedures. Standards.
Put it all online with Explain, the paperless documen¬
tation system.
For more information, please
call us at (612) 332-7559, or write to
Communication Sciences, Inc., 100
North'Seventh Street, Minneapolis,
MN 55403.
« Copyright 1984, Communication
CIRCLE NO. 173 ON READER SERVICE CARD
Attach your old label where indicated and print
your new address in the space provided. Please
be sure to include your mailing label whenever
you write us about your subscription. It helps us
to serve you promptly.
Write to: P.O. Box 2968, Boulder. CO 80322
0
Change address only
Extend subscription
Enter new subscription-
one year $24.97
Payment enclosed
Bill me later
□ Charge:
0
American Express
Visa □ MasterCard
Number.
£xp. Date.
Signature_
NEW ADDRESS HERE
Name_
Address_
City_
State_Zip_
Add $12 per year in Canada and other foreign countries.
Please allow 60 to 90 days for delivery of first issue.
^ AFFIX OLD LABEL ^
If you have no label handy, print o\6 address here:
Name.
Address.
City_
State Zip
114
AND NOW, BESIDE COMPAQ, SPERRY, COLUMBIA, CORONA, AND ZENITH, TOO.
Beside Your iBiVi PC
Or XX The Best Box
YOU Can Buy,
The Bernoulli Box: The Superior Shnage Sdution.
For owners and users of the IBM PC,
XT, COMPAQ, Sperry, Columbia, Corona,
and Zenith micros, where to put and secure
the substantial amounts of data they are
processing can get to be quite a problem.
Well, IOMEGA has quite a solution.
We call it The Bernoulli Box.
Hard Disk Performance And
Reliability. Flexible Disk Economy
And Convenience.
The Bernoulli
Box is a mass stor¬
age system that
uses 10-megabyte
removable car¬
tridges to deliver
incredible ver¬
satility and
virtually
unlimited
storage capacity. Powerful primary stor¬
age. Quick and efficient backup. With the
performance, data integrity, mechanical
reliability, and low cost per megabyte
equal to Winchester hard disks.
A Handful of Cartridges Or
A Desktop Full Of Hardware.
You Decide.
The bottom-line beauty of The Bernoulli
Box is that when
you need more
mass storage, you
buy more car¬
tridges—not more
iron. So you
save space,
time, money,
and get higher
performance
and a more
reliable storage solution to boot.
Check Out The Bernoulli BoxToday.
Computer dealers know a good idea
when it comes around. Many are cur¬
rently stocking The Bernoulli Box in both
single- and double-drive models.
For the dealer nearest you, contact
IOMEGA at (801) 776-7330.
IOMEGA Corporation
1821 West 4000 South
Roy, Utah 84067
CIRCLE NO. 102 ON READER SERVICE CARD
n
LATTICE.
C Compilers
“My personal preferences are Lattice C in the top category for its
quick compile and execution times, small incremental code, best
documentation and consistent reliability;..."
BYTE AUG. 1983
R. Phraner
”... programs are compiled faster by the Lattice C compiler, and It
produces programs that run faster than any other C compiler avail¬
able for PC-DOS."
PC MAGAZINE JULY 1983
H. Hinsch
“... Microsoft chose Lattice C both because of the quality of code
generated and because Lattice C was designed to work with
Microsoft's LINK program."
PC MAGAZINE OCT. 1983
D. Clapp
"Lattice is both the most comprehensive and the best documented of
the compilers. In general it performed best in the benchmark tests."
PERSONAL COMPUTER AGE NOV 1983
F. Wilson
"This C compiler produces good tight-running programs and pro¬
vides a sound practical alternative to Pascal."
SOFTALKAUG 1983
P. Norton
"... the Lattice compiler is a sophisticated, high-performance pack¬
age that appears to be well-suited for development of major applica¬
tion programs."
BYTE AUG 1983
Houston, Brodrick, Kent
To order, or for further information
on the LATTICE family of compilers, call or write
LATTICE, INC.
P.O. Box 3072
Glen Ellyn, IL 60138
(312) 858-7950 TWX 910-291-2190
CIRCLE NO. 128 ON READER SERVICE CARD
IBEX COMPUTER CORP.
20741 Manila Street,
Chatsworth.CA 91311
(818)709-8100
TWX 910-493-2071
9-TRACK MAG.
TAPE SUBSYSTEM
for the
IBM PC
For information inter¬
change, backup and archi¬
val storage, IBEX otters a
9-track, IBM format-com¬
patible y 2 "magnetic tape
subsystem for the IBM PC,
featuring:
■ 42 M-Bytes on a single
reel.
■ Automatic loading.
■ IBM format 1600 cpi.
■ Software for PC-DOS,
MS-DOS or CPM-86.
Write, phone or TWX
for information
CIRCLE NO. 124 ON READER SERVICE CARD
Strings
strsearchexit:
pop
cx
; restore registers
pop
di
pop
si
ret
strsearch
endp
Listing 4 STRINSERT
FUNCTION: This routine inserts a source string
in a specified place in a destination string.
INPUT: Upon entry DS:BX points to the source
string, ES:BP points to the destination string, and
ES:DX points to the spot in the destination string at
which the source is to be placed. Each string begins
with a 16-bit integer specifying the string's length.
OUTPUT: Upon exit the destination string has the
source string inserted in the proper place. The
length of the destination string is increased.
REGISTERS USED: No registers are modified.
SEGMENTS REFERENCED: Upon entry the
data segment must contain the source string; the ex¬
tra segment must contain the destination string.
ROUTINES CALLED: None
SPECIAL NOTES: None
CODE:
; ROUTINE TO INSERT ONE STRING WITHIN ANOTHER
•.addressing equates
essorc
equ es:[si]
; equate for source in extra seg
dsdest
equ byte ptr[di] ; equate for usual destination
strinsert
proc far
push
si
; save registers
push
di
push
cx
push
ax
; find current end of destination string
mov
si ,bp
; start of string
add
si,es:[si]
; point to next to last byte
inc
si
; adjust for length information
; find new
end of destination string and update length
mov
d i, s i
; get old end of destination
mov
ax ,[bx]
; get length of source
add
di ,ax
; new end of destination
add
es:[bp],ax
; new length of destination
; move tail
of destination
string out of the way
mov
cx.si
; SI - DX + 1 is the count
sub
cx.dx
inc
cx
std
; backward direction
repmovs
dsdest,essorc
; move the tail
; move source string into place
mov
di ,dx
; destination of move
mov
si ,bx
; source of move
cld
; forward direction
lodsw
; length of source
mov
cx ,ax
; the count
rep
movsb
; make the string move
strinsertex
it:
pop
ax
; restore registers
pop
cx
116
PC Tech Journal
If you’ve ever found yourself searching
for a calculator or a notepad when
you’ye gbt a computer in front of
youv dien you know why we came up
with Sidekick©.
INTRODUCTORY OFFER
Anilabk only for the IBM PC, XT, jr and Compatibles.
Please be sure your eornputer is an IBM PC^, XT, jr., or true conipatible!
NAME
WBORlAnD
■v INTERNATIONAL
Borland International
4113 Scotts Valley Driv.e - ■
iScotts Valley, California 95066
TELEX: 172373' . SE6
ADDRESS •
CITY/STAIT/ZIP
TELEPHONE
.California resideritsvad^ fe^^^^ Outside U.S.A. add $15:00. {If outside of
U.S.A. payment-rriust pd liy bank draft payable m-the U.S. and in U.S. dollars.) Sorry,
G.O.D'. or Purohase Orders:
Something Totally New in Applications SotBha^e From Boirlahdy
The FoUcs tl^o Mahe Ti^ho Pascal.^^
WHETHER YOimE RtJNNING
1-2-3, WORDSTAR,
dBASEn OR WHATEVER .. .
JUST A KEYSTROKE
ABiDASlDEiaCK
RTimOW OPiJVS ...
• acalcuiator
•ANOl^AD
• AN APPOUVTMENT
CALENDAR
• AN AUiO DIALER
•ANASCDTABLE
• AND MUCH MORE
ALLATONCE . . . ORONE AT
AITME. ANYWHERE ON
THE SCREEN YOU LIKE.
ANOTHER KEYSTROKE,
AND YOUnRE RIGHT
WHERE YOU LEFT OFF
IN YOUR ORIGINAL
PROGRAM!
(you never really left!)
Something brand new. Crafted in Assembly
language as carebiUy as Borland’s famous l\irbo
Pascal©, so that it’s lightning-fast and as compact as
only Borland knows how to make it! With a notepad
that has a full-screen editor that saves your notes to disk.
You can even swap information back arid forth between
your applications software and your Sidekick©.
Suppose you’re working with a spreadsheet, ^nd you
suddenly have an important idea. Just hit the button, a
window opens, you write the note and hit the button
again. You’re right back where you left off in the
spreadsheet.
Need to make a phone call? Whether the number is in . .
an existing database, your own Sidekick, phone directory, V -
or you’ve just typed it on the screen ., . put;the cursor:;;. .
next to the number, hit the keystroke, and Sidekick dials ■ : .
for you!* . , ; ' ;
There’s lots more, too. You can move the Sidekick
windows anywhere on the screen you like. And you can L- ■■
have as many on screen at a time as you. need: . - •
. We designed it because we needed it. If you’ve ever
been writing a report and needed’ to do a quick calcu- v ' .
jation, or jot down a note, thea you understand-why^; ■ ^
■^Only \yith Hayes Smartmpdem and compatibles. '. .
YOU CAN OIWER YOIJR COPY OF SIDEIQCK®
For Visa and MasterCard orders call Toll Free 1-800-255-80Q8 in California 1-800-742^1133
(lines open 24 hours, 7 days a week) Dealer and Distributor Inquiries Welcome 408-438-8400
^SIDEKIOK® $49.95
( plus $5.00 shipping arid handling
•Shipped UPS) V
Check , D Money Order (□
' VISAp : MasterCard □
- ■
mratiori ©ate
Strings
pop
di
pop
si
ret
strinsert
endp
Listing 5 LEXSEARCH
FUNCTION: This routine searches a lexigraphic-
ally (alphabetically) ordered list of word strings for
the proper place to insert a new word.
INPUT: Upon entry DS:BX points to a source word
string, and ES-.BP points to the ordered list of words.
The source word string begins with a 16-bit integer
that specifies the length of the string and then con¬
tinues with the bytes of the string. The last byte
must be a carriage return symbol (ASCII 13). The
destination list of words begins with a 16-bit integer
that specifies the length of the string in character
bytes and continues with words that consist of
ASCII characters. The words are separated by car¬
riage return symbols (ASCII 13).
OUTPUT: Upon exit AL contains a return flag
(O==not found, OFFh=found). If the search was suc¬
cessful ES:DX contains the location of the proper
place to insert the new word. If the word was al¬
M^TSOFTPBODUCTSINC
A subsidiary of the University of Waterloo
Announces
a full screen editor and a family
of language interpreters for the
IBM Personal Computer
For further information contact:
WATSOFT Products Inc. (519) 886-3700
158 University Ave. Telex No.: 06-955458
Waterloo, Ontario-
N2L 3E9
CIRCLE NO. 228 ON READER SERVICE CARD
ready present then ES:DX points to the location of
this word in the destination string.
REGISTERS USED: Only AX and DX are modi¬
fied because they are used for output.
SEGMENTS REFERENCED: Upon entry the
data segment must contain the source string; the ex¬
tra segment must contain the destination word list.
ROUTINES CALLED: None
SPECIAL NOTES: None
CODE:
; ROUTINE
TO SEARCH FOR
A WORD IN AN ORDERED LIST OF WORDS
lexsearch
proc far
push
si
; save registers
push
di
push
cx
; point to beginning of
list.and get its length
mov
di ,bp
; beginning of list
mov
cx,[di]
; get length
inc
di
inc
di
compare source word with words in the list
lexsearchl;
mov dx,di ; save beginning of dest word
; forward direction
OPT-TECH SORT™
SORT/MERGE program for IBM-PC & XT
Now also sorts dBASE II files!
• Written in assembly language for high performance
Example; 4.000 records of 128 bytes sorted to give
key & pointer file in 30 seconds. COMPARE!
• Sort ascending or descending on up to nine fields
• Ten input files may be sorted or merged at one time
• Handles variable and fixed length records
• Supports all common data types
• Filesize limited only by your disk space
• Dynamically allocates memory and work files
• Output file can be full records, keys or pointers
• Can be run from keyboard or as a batch command
• Can be called as a subroutine to many languages
• Easy to use. includes on-line help feature
• Full documentation — sized like your PC manuals
• $99 —VISA, M/C, Check, Money Order. COD, or PO
Quantity discounts and OEM licensing available
To order or to receive additional Information
write or call;
OPT-TECH DATA PROCESSING
P.O. Box 2167 Humble, Texas 77347
(713) 454-7428
Requires DOS, 64K and One Disk Drive
118
CIRCLE NO. 179 ON READER SERVICE CARD
^VERSION 2.0
This is THE PASCAL COMPILER
YouVe Been Hearing About
‘Turbo is a winner.”
PC Tech Journal,
July 1984
i|9.95
; .^ you don’t have CP/M [for
'.i/ your Appl^, Turbo Pascal is
reason enough to buy it.’ ’
Cary Hara
' . SoftciLk/Apple, May 1984
Than YouWe Heai^f
• Windowing (IBM PC, XT, jr. or true compatibles)
• Color, Sound and Graphics Support (IBM PC, XT, jr. or true compatibles)
• Optional 8087 Support (available at an additiona,l charge)
• Automatic Overlays
• A Full-Screen Editor thaPs even better than ever
• Full Heap Management—via dispose procedure
• Full Support of Operating System Facilities
• No license fees. You can sell the programs you write with Turbo Pascal without extra cost.
Yes. We still include Microcalc . . . the sample spreadsheet written with Turbo Pascal. You can study the
source code to learn how a spreadsheet is written . . . it’s right on the disk.* And, if you’re running Turbo
Pascal with the 8087 option, you’ll never have seen a spreadsheet calculate this fast before!
*Except Commodore 64 CP/M,
Order Your Copy of TURBO PASCAL VERSION 2.0 Today
For VISA and MasterCard orders call toll free: 1-800-255-8008
In California: 1-800-742-1133
(lines open 24 hrs, 7 days a week) Dealer &. Distributor Inquiries Welcome 408-438-8400
tlight^t interest in Pasi
Bruce Webster, Softalk
Choose One (please add $5.00 for ship'
ping and handling for U.S. orders. Shipped
UPS)
_Turbo Pascal 2.0 $49.95 -h $5.00
-Turbo Pascal with 8087 support
$89.95 + $5.00
-Update (1.0 to 2.0) Must be accoru'
panied by the original master $29.95
+ $5.00
_Update (1.0 to 8087) Must be
accompanied by the original master
$69.95 4- $5.00
Check_ Money Order
VISA _ Master Card _
Card #: _
Exp. date: _
» BORIAHD
■9 INTERNATIONAL
Borland International
4113 Scotts Valley Drive
Scotts Valley, California 95066
TELEX: 172373
My system is: 8 bit _ 16 bit _
Operating System: CP/M 80_
CP/M 86_ MS DOS_ PC DOS_
Computer: _
Disk Format: _
Please be sure model number 6? format are correct.
Name: _
Address: _
City/State/Zip: _
Telephone: _
California residents add 6% sales tax. Outside U.S.A. add $15.00 (If
outside of U.S.A. payment must be by bank draft payable in the U.S.
and In U.S. dollars.) Sorry, no C.O.D. or Purchase Orders. E6
Strings
WORK SMARTER...
.. .With Auto Key
If you use an IBM PC you (ru/y need AutoKey.
SAVE HUNDREDS OF HOURS OF TYPING
With AutoKey you can create single key abbreviations
for frequently typed text or any other sequences of key¬
strokes on your computer. So,
you never have to type the same things over and
over again, again,
AutoKey is the perfect mate for your spread¬
sheet, word processor, text editor or other
software.
MAKE YOUR SOFTWARE EASIER TO USE
No need to remember tedious software commands
any more.
AutoKey lets you concentrate on the problem
instead of the mechanics of working with the
computer.
PERSONALIZE OFF-THE-SHELF SOFTWARE
Personalize your software so that the same keys have
the same functions in all your programs.
AUTOKEY IS EASY AND FUN TO USE
* You will learn how to use AutoKey in less than 15
minutes. After that you’ll wonder how you ever got
along without it.
* Create key abbreviations ds you work by the
press of a button.
* Key abbreviations can be stored in files for future
recall.
PERFORMANCE UNEXCELLED
Autokey provides unsurpassed performance at a very
low cost.
$79 Try it for 30 days. If you are not completely
satisfied, simply return your diskette for a full refund.
Strategic Automation, Inc.
33 Cherry Hill Drive, Danvers, MA 01923
617/777-5104 Support: 617/777-5161
MC/VISA Accepted
AutoKey and IBM PC are trademarks of SAI and IBM Corp.
CIRCLE NO. 156 ON READER SERVICE CARD
cld
; forward direction
; point to beginning of i
source
moY
si ,bx
; point to beginning of source
inc
si
inc
si
; compare
source word with a word of the list
lexsearch2:
• ; check for end of list
jcxz
lexsearchS
; end of list - insert it
; set up carriage return
as character for scanning
mov
al ,13
; scan for carriage return
; check for end of source word
cmp
Csij.al
; source byte = carriage return?
je
lexsearch4
; end of source word found
; check for end of destination word
cmp
es:[di],al
; dest byte = carriage return?
je
lexsearch3
; no match - go to next word
; compare
character by character
dec
cx
cmpsb
; check for match
je ’
lexsearch2
; matched - check next character
jb
lexsearchS
; too high - this is the place
; scan for
1exsearch3
next carriage
return
repnz
scasb
; scan until carriage return
jmp
lexsearchl
; next word
end of source word was
found
lexsearch4
cmp
[di],al
; dest character = carriage return?
je
lexsearch6
; end of destination word?
; found a
spot to insert
the word
lexsearchS:
mov
al,0FFh
; success
jmp
lexsearchexit
; word is
already present
lexsearch6
mov
aliOOh
; already there
jmp
lexsearchexit
lexsearchexit:
pop
cx
; restore registers
pop
di
pop
si
ret
lexsearch
endp
Listing 6 LEXINSERT
FUNCTION: This routine inserts a word string in
the proper place in a lexigraphically (alphabetically)
ordered list of words.
INPUT: Upon entry DS-.BX points to a source word
string: ES;BP points to the ordered list of words. The
source word string begins with a 16-bit integer that
specifies the length of the string. The last byte must
be a carriage return symbol (ASCII 13). The destina¬
tion list of words begins with a 16-bit integer that
specifies the length of the string and continues with
words that consist of ASCII characters. The words
are separated by carriage return symbols (ASCII 13).
OUTPUT: Upon exit the string is inserted properly.
120
PC Tech Journal
Great Lakes offers you add-on
storage and tape hack-up at an
unforgettably attractive price
So you’re about to outgrow the storage capacity of your
IBM PC™ or compatible computer? And now you’re biting
your nails over the cost of adding more bytes.
No need! Consider the eminently memorable combination
price of the Great Lakes Superior 10™ hard disk subsystem
and the Great Lakes Quartermaster 23™ tape back-up module.
The Superior 10—$1495
Not only is our $1495 price considerably lower than the
nearest 10-megabyte competitor, but we offer the best
dollar-per-megabyte ratio for the 23mb and 40mb subsystems
as well. The ratios? lOmb at $149 per mb; 23mb at $98 per
mb (retail $2249); 40mb at $70 per mb (retail $2795).
$995
Quartermaster 23
This optional 23mb tape back-up module is simple to
use and efficient as well. Take, for example, our remarkable
Selecta-File™ feature. This (4-inch tape drive module
allows you to back up and restore data using selective
file-by-file data transfer (or full streaming). And it masters
all this for just $43 per megabyte.
Complete and ready-to-use
When you buy a Superior hard disk subsystem, every¬
thing is there, ready to operate at high speed. This includes:
high quality fixed hard disk, controller board, software that
runs on DOS 1.1 and 2.0 (CP/M 86™ and other operating sys¬
tems available), host adaptor board, integral power supply,
cables, external custom chassis with additional space for our
tape back-up, and documentation.
Our line is expansive, not expensive
Need even more storage for your IBM PC or compatible?
We offer hard disk subsystems including 65,110 and 140mb
—all designed for superb quality at the very lowest possible
prices. And we stand behind all our products with our 90-day
warranty. That’s because our quality lives up to our first name,
Available at leading dealers everywhere
COMPUTER PERIPHERALS, INC.
We live up to our first name
2200 W. Higgins Road, Hoffman Estates, IL 60195
1-800-323-6836/1-312-884-7272
CIRCLE NO. 122 ON READER SERVICE CARD
”*IBM PC is a trademark of International Business Machines Corporation.
"“Superior (10 through 140), Quartermaster 23, and,Seiecta-FiIe are trademarks of
Great Lakes Computer Peripherals, Inc.
"“CP/M 86 is a trademark of Digital Research. Inc.
Strings
REGISTERS USED: No registers are modified.
SEGMENTS REFERENCED: Upon entry the
data segment and the extra segment must be equal,
and they must contain the source string and the des¬
tination word list.
ROUTINES CALLED: LEXSEARCH,
STRINSERT
SPECIAL NOTES: None
CODE:
; ROUT IKE
TO INSERT A WORO
IN AN OROEREO LIST OF WORDS
lexinsert
proc far
push
ax
; save registers
call
lexsearch
; search for match
cmp
a1,0
; already there?
je
lexinsertexit
; skip if so
call
str insert
; insert the new word
lexinsertexit:
pop
ax
; restore registers
ret
lexinsert
endp
Listing 7 COMPARE
FUNCTION: This routine compares two strings of
the same length.
INPUT: Upon entry DS:SI points to one string (the
source) and DSsDI points to a second string (the des¬
tination). Both strings have lengths given by CX.
OUTPUT: Upon exit the flags specify the relation
of the source to the destination:
1 = source string is less than destination string
e = source string is equal to destination string
g = source string is greater than destination
string
REGISTERS USED: Only AX is modified.
SEGMENTS REFERENCED: Upon entry the
data segment contains the source string and the ex¬
tra segment contains the destination string.
ROUTINES CALLED: None
SPECIAL NOTES: None
CODE:
; ROUTINE
TO COMPARE TWO
STRINGS
compare
proc far
push
si
; save registers
push
di
push
cx
repz
cmpsb
; one compare does it!
pop
cx
; restore registers
pop
di
pop
si
ret
compare endp
Professional Lab and
Business Graphics Software
for Your IBM* PC
SCIENTIFIC PLOTTER PC-
Draws professional graphs of
your data. Line or scatter plots,
semi-log or loo-log plots, bar
graphs, exploded pie charts,
stock charts with high, low,
close. 320 X 200 resolution in 4
colors. Automatic or manual
selection of axis length and posi¬
tion, tick marks and numeric
labels. Features 20 plot symbols,
error bars, multiple labels in 4
orientations and versatile printer hardcopy. Format and data files may be
saved on disk. Includes 11 demos on disk plus manual .$ 95
CURVE FITTER-PC-Select the
best curve to fit your data.
Scale, transform, average or
smooth. Interpolate (3 types),
least squares fit (8 types),
evaluate unknowns from fitted
curves. Features auto-scaling,
statistical evaluation of fitted
curves, multiple labels in 4
orientations, and versatile
printer hardcopy. Format and
data files may be saved on disk.
Includes 5 demos on disk plus manual.$ 95
SPECIAL: SCIENTIFIC PLOTTER-PC and CURVE FITTER-PC-on 1
disk.$175
Add $2.50 shipping on all U.S. orders. VISA or MASTERCARD orders
accepted.
•Trademark of International Business Machines, Inc.
TM ■m- interactive microware, inc.
11111 P O. Box 139, Dept. 237
State College, PA 16804
Phone: (814) 238-8294 • Telex: 705250
G Graphics
Editor
A Fast, Powerful, Easy to Use drawing
program that lets you create, edit, and store
colorful images
• Intricate detail
• Easy to remember, single key commands
• Variable cursor speed & brush width
• User defined color combinations
• Commands for basic geometric shapes
• Images can be erased, repositioned, copied,
mirrored, flipped
• Save to disk / Load from disk
• Images can be loaded into user's BASIC
programs
• "HELP" and "UNDO" commands
• Text in variable sizes, colors, directions
• Designed for the IBM PC and compatible
machines with 128K RAM, single disk N
drive, color graphics cap^ihty /
Perfect for Artists, Designers,
Animators, Programmers, Educators
G Graphics Editor is available for $95 from /j //
MICRO MARKETING ASSOCIATES g ' ^
3497 East Livingston Avenue
Suite A
Columbus, Ohio 43227 _
(614) 231-4956
CIRCLE NO. 163 ON READER SERVICE CARD
CIRCLE NO. 189 ON READER SERVICE CARD
GENERATES CUSTOMIZED
INPUT SCREEN PROGRAMS
IN ifaioe AND (?(a§{g®(L ...
. . .BECAUSE YOUR
TIME IS
TOO VALUABLE
only 8125'"'
ITEM #3050
(Includes shipping and handling)
(N.Y.S. Res. Add 8y4% sales tax)
BASIC or PASCAL Easily!
Generate programs in BASIC or PASCAL. Your choice.
Works with Turbo PASCAL * IBM * PASCAL or IBM BASIC (Interpreter and Compiler).
Easy to use. Begin productive use in minutes!
POWERFUL SCREENS
Everyone can have professional quality screens to dress up any program.
Generate compiex, colorful, effective screens In minutes.
FULL FUNCTION SCREEN CREATION
Simply “draw” input screens with word processor style editor.
Advance screen creating features include;
• Draw boxes, lines, etc. in seconds with unqiue character selection menu.
• Repeat iast character in any direction.
• Special color-select screen displays all available colors.
• .Paint and Repaint sections of screen at any time.
• Copy and Move sections of screen.
• Insert or Delete characters and lines.
• input field definition screen gives you total control of character type definitions, edit screen masks, input sequence, variable
names, initial values, protected characters, etc.
COMPLETE DATA ENTRV ROUTINES
Generates customized program code that allows professional quality data input using the full PC keyboard (cursor keys, delete,
insert, and more). Checks input data for valid entries and displays error messages.
Programs are easily merged with your own programs.
Easy to follow documentation shows how and where you can modify the generated programs.
•Available now with IBM PC, PCjr, PCXT, and all true compatibles.
• Requires 128k RAM, one floppy disk drive, and PC DOS. Works with any display type.
• Turbo PASCAL is a registered trademark of Boreland International, Ltd. IBM is a registered trademark of IBM corporation.
Master Card and Visa orders call now toll free 1-800-824-7888. Operator 268
Alaska and Hawaii call 1-800-824-7919. Operator 268
DEALER INQUIRIES INVITED. SORRY, NO C.O.D.
Produced and Distributed by The Software Bottling Co. of New York.
29-14 23 Ave., New York City, N.Y. 11105 « (212) 728-2200 Telex 380748
CIRCLE NO. 172 ON READER SERVICE CARD
Strings
Listing 8 SWITCH
FUNCTION: This routine switches two strings.
INPUT: Upon entry DS;SI points to one string (the
source) and ES:DI points to a second string (the des¬
tination). Both strings have lengths given by CX.
OUTPUT: Upon exit the strings are switched.
REGISTERS USED: No registers are modified.
SEGMENTS REFERENCED: Upon entry the
data segment contains the source string and the ex¬
tra segment contains the destination string.
ROUTINES CALLED: None
SPECIAL NOTES: None
CODE:
; ROUTINE
TO SWITCH TWO
STRINGS
switch
proc far
push
si
; save registers
push
di
push
CX
push
ax
cld
; forword direction
switchl:
mov
a1,[di]
; get byte from destination
movsb
; move from source to destination
mov
es;[si-l],al
; put byte in source
loop
switchl
; loop back for more
pop
ax
; restore registers
pop
CX
pop di
pop si
ret
switch endp
Listing 9 BSORT
FUNCTION: This routine sorts a string array by
using bubble sort.
INPUT: Upon entry DS:SI points to a string array,
CX contains the number of entries in the array, and
DX contains the size of each entry.
OUTPUT: Upon exit the array is sorted.
REGISTERS USED: No registers are modified.
SEGMENTS REFERENCED: Upon entry the
data segment and the extra segment must be equal
and must contain the string array.
ROUTINES CALLED: COMPARE, SWITCH
SPECIAL NOTES: None
CODE:
; ROUTINE
TO SORT A STRING ARRAY
bsort
proc far
push
si ; save registers
push
di
push
CX
push
ax
BASICTc^
2Itn)GlI«5 T££ B£SIC GAP—
Every day, programmers like yourself arc
making the jump from BASIC to C. With
high level functions that work like BASIC
and documentation that is written from the
perspective of a BASIC programmer, the
BASIC-C library provides the best path to help
make your journey pleasant and fast!
BASIC’S POWERFUL FUNCTIONS
IN C PROGRAMS—
The BASIC-C library provides most of BASIC’s high
level functions—string handling, sequential and
random i/o, graphics and many more—all are
designed to look and work like BASIC functions.
Instead of wasting time trying to figure out how to
clear a screen or locate the cursor, you can concentrate
on learning what C is about. Source code for the whole
library is included!
WRITTEN WITH BASIC PROGRAMMERS
INMINU—
Our documentation is oriented to those familiar with BASIC. A full chapter
is devoted to a point-by-point comparison of BASIC and C. Each function’s
description contains at least one example written in BASIC and the
equivalent C. Many customers tell us that the BASIC_C documentation is
the best C tutorial they’ve seen.
EC DEMO DISK -.$ 5
EC (pronounced e-see) - full screen editor.$125
BASIC-C LIBRARY - including source code.$175
BASIC-C & EC.$275
BASIC-C & DeSmet C compiler/w debugger.$325
BASIC-C & Computer Innovations C compiler.$475
BASIC-C & Lattice C compiler.$525
BASIC-C & EC & DeSmet C compiler/w debugger . $425
BASIC-C & EC & Computer Innovations C
compiler.$575
BASIC-C & EC & Lattice C compiler.$625
£C EDITOR-^
MAKE ANY rC-J>Oi CALL FROM
INH0EEC—
Now you can edit, compile and test your program
from inside the EC editor. In fact, EC gives you
complete access to the operating system. Do a
directory, copy or delete files, even run other
programs without ever leaving EC!
MULTIPLE WINDOWS ... WITH A HLE
IN EACH—
AH windows can be shown on the screen at
the same time; or the screen can be
dedicated to one file, while the others are
kept in the background—only a
keystroke away. You can even cut and
paste blocks of text between windows!
FULL SCREEN EDITOR FOR THE IBM—
EC uses all the PC’s special keys so that editing is fast and
intuitive. In addition to standard editing features, EC provides text
and command macros, word wrap, paragraph reformatting, horizontal
scrolling, and color video control.
DEMO DISK IS ONLY $5—
Call or write for our fuU-featured demo. You’ll get a standard version of EC
that can handle up to lOK worth of text files and a complete set of
documentation. See for yourself how pleasant it is to use an editor that
gives you multiple windows and free access to your operating system.
*BASIC-C and EC run on an IBM PC, or look-alike, with at least 128K RAM under
DOS 1.1 or higher. To use the EC EDITOR’S DOS interface feature you must have
DOS 2.0 or higher and enough RAM to run the additional program.
IBM is a trademark of International Business Machines.
MO. Residents Add 6% Sales Tax.
C SOURCE
12801 Frost Road
Kcinsas City, MO 64138
816-353-8808
^URCE
124
CIRCLE NO. 116 ON READER SERVICE CARD
PC Tech Journal
mntaio^
CUT THROUGH
THE TALL GRASS
WITH MOUNTAIN'S
HLESAFE ■ COMBO
DISK/TAPE PACK
FOR THE IBM*
PC/XT."
Our new FileSafe Combo pack
lets you mix and match hard disk
(10,15, 20 or 35MB) and tape
backup (27 or BOMB) in one
low-cost, high-performance
unit that mows down the
competition.
FEATURES
TALLGRASS^
TG-313S
BACKUP SPEED (2DMB)
25 MINUTES
INSTALLATION;
SPEED
EXPERTISE
2 HOURS
REQUIRES TECHNICIAN
IBM COMPATIBILITY
REQUIRES SOFTWARE
MODIFICATIONS
TRANSFERABILITY OF
BACKUP FILES
SEVERELY LIMITED
ERROR CORRECTION (ECC)
NDNE
RELIABILITY
ASK THEIR CUSTOMERS
NETWORKING
COMPATIBILITY
LIMITED
WARRANTY
3 MDNTHS
PRICE
S5.745
MOUNTAIN
MT-4000-04
6 MINUTES
10 MINUTES
ANYONE
100% PLUG IN AND RUN
UNLIMITED
COMPLETE
ASK OUR CUSTOMERS
3COM. NOVELL, NESTAR
& PCnet"
6 MONTHS
$5,595
■^Tallgrass TG-3135 with
’^Mountain MT-4000-04
35MB hard disk and tape backup
with 35MB hard disk and tape backup
parison shows it offers greater IBM and
networking compatibility. It's faster, more reli¬
able, and easier to install. It comes with a
longer warranty. And all at a better price!
So now you have a choice. You can plow
your way through the tall grass. Or you can
reach for a Mountain FileSafe Combo disk/
tape pack at ComputerLand and other lead¬
ing computer stores.
For more information, write: Mountain, Inc.,
300 El Pueblo Road, Scotts Valley, CA 95066.
Or call nc — I (408) 438-6650.
TWX 910-598-4504.
Mountain is a registered trademark and FileSafe is a trademark of Mountain, Inc.
IBM and are trgijlemarks of International Business Machines Corporation.
' ' id tmdtemarkx^0rchid T^hnof
CIRCLE NO. 162 ON READER SERVICE CARD
Mountain
THE PEAK OF PERFORMANCE
1-800-458-0300 (in California, 1-800-821-6066)
In Canada, call Parity Plus Inc. (416) 673-3321.
1495 Bonhill Road, # 12, Mississauga, Ontario, Canada L5T 1M2
M^TSOFTPRODUCTSINC
A subsidiary of the University of Waterloo
Announces
Strings
; adjust count for one less than number of items I
dec cx ; adjust the count
Waterloo
; outer loop - for SI = 1 TO N-1
bsortl:
NetWorkStation
Tools
push cx ; save the count '
mov di,si ; destination points to source
; inner loop ^orDT = P+t |o If .
bsort2;
push cx ; save the count
for the IBM Personal Computer
Editor
• full-screen
• colour support
• function keys
Host Communications
• VM/370 CMS, RSTS/E, VAX/VMS
• file transfer micro to/from host
• access host files from micro programs
Terminai Emuiation
acfcf dfVdx ; point to next destination ~
mov cx,dx ; entry length
call compare ; compare the strings
Jl'e bsortS ; skip if source <= list '' i
call switch ; switch if not :
bsortS:
pop cx ; restore the count
loop bsortZ
s’|»^x ; pdfhl. HI nexl'source
pop cx ; restore the count I
loop bsortl
bsortexit:
pop ax ; restore registers
pop cx
"IPSP 8^ ' . .... " “ ■ ■' ~ ' 1
pop si ;
ret
bsort endp
For further information contact:
WATSOFT Products Inc. (519) 886-3700
158 University Ave. W., Telex No.; 06-955458
Waterloo, Ontario
N2L 3E9
CIRCLE NO. 218 ON READER SERVICE CARD
SPF/PC"
ACTUALLY, there is no comparison. SPF/PC is
the best fuil-screen editor available for the iBM
Personal Computer.
It looks and works like IBM’s large system SPF
editor.
•SPF/PC can use up to 786K of memory as workspace.
•Word processing commands.
•4-way scrolling.
•Split screen support.
•On-line help facility.
•Can edit up to 240 character records.
•Monochrome or color supported.
•Instantaneous screen display.
•Block Move/Copy/Repeat/Delete/Overlay/Shift/Exclude
•Automatic line numbering supported.
•40 user-definable Program Function Keys.
• Direct interface to DOS'commands for PCDOS 2.0 users.
•Browse sub-system.
• Move/Copy sub-system copies any file format.
•Utilities include: Rename/Delete/Print/Directory list.
AND MUCH MORE . . .
UPLOAD/DOWN LOAD sub-system available to SPF/PC users for
$50.00.
THE ODD-COUPLE™
Allows the APPLE and IBM/PC to
communicate with each other.
•Connect APPLE to PC, APPLE to APPLE, and PC
to PC.
•Transfer any file in either direction.
•CHAT mode allows direct communications
through the keyboard.
•An Equipment Profile allows description of
your operating environment.
•Communicate Direct or through a Modem at
speeds up to 9600 baud (bps).
•Written entirely in machine language for speed
and efficiency.
REQUIREMENTS:
APPLE — 48K, 1 disk drive. Serial Interface
IBM — 64K, 1 disk drive, Serial Interface
^ Q Q fT SPF/PC requires 128K, PCDOS,
1 T y 3 and 1 disk drive.
V9.95
For orders and deaier information write or cail Rogue River Software, 2822 Tahitian Ave., Medford, OR 97504,
(503) 779-3002. Mastercard/Visa, Check, or P.O. accepted. Add $5.00 for shipping. Canada $10.00. Foreign $15.00.
IBM is a registered trademark of International Business Machines, Inc. APPLE is a registered trademark ot Apple Computer Inc.
_ CIRCLE NO. 207 ON READER SERVICE CARD ^
PC Tech Journal
116
PELADE
lEXl EIIGinEE^
The first full featured word processor for the IBM personal computer capable of
producing all mathematical, scientific and engineering symbols* including superscripts
and subscripts for complete equation editing on screen.
Multi-lingual capabilities include the specific characters, accents and letters found in
French, Spanish, German, Italian and all other western European languages.
Advanced Word Processing features include:
• Command line driven editor
• Comprehensive, easily accessible on-line help
• All features, including bold, italics, underlining and special characters appear on
screen exactly as they are printed.
SPECIAL INTRODUCTORY PRICE $250 MAIL ORDER ONLY. OFFER EXPIRES JULY 31/84.
PELADA inPO^niAEICA IIIC.
87 Queen St., Kingston, Ontario,
Canada K7K 1A5
Tel. (613) 549-1747
‘Requires Epson FX-80, FX-100 or similarly featured printer.
FREE SAMPLE DISK AVAILABLE UPON REQUEST.
CIRCLE NO. 141 ON READER SERVICE CARD
Simple as pie.
GraffHopper is designed to
reduce chart building to a
simple process. The user
simply looks through his
ChartBook catalog of over
100 formats, selects the
chart he prefers and
responds to a few simple
screen prompts.
GraffHopper formats range
from straight lines to
sophisticated report/curve
combinations which can
be completed in a matter of
seconds.
* LOTUS 1-2-3 is a copyright of
Lotus, Inc.; MULTIPLAN is a
copyright of Microsoft, Inc.; dBASE
II is a copyright of Ashton-Tate.
GraffHopper also offers
the more traditional
approach to chart
building through the use
of a simple menu
structure (including
on-line help) or command
word method. Whatever
the mode of chart
creation, the objective of
the software is the same:
to produce complicated
charts with as little user
interaction as necessary.
GraffHopper also includes
a unique feature —
Chart Connect. Using
Chart Connect the user
can access data already
stored in LOTUS 1-2-3*,
MULTIPLAN*, or dBASE
II* files. With Chart
Connect, spread sheet
data may be retrieved
through a series of simple
user prompts and need
not be rekeyed.
For more information call
or write:
Data Business Vision, Inc.
3510 Dunhill Street, Suite B
San Diego, CA 92121
619/450-1557
800 / 321-6828
CIRCLE NO. 138 ON READER SERVICE CARD
©1984 Data Business Vision, Inc.
IS SIMPLE
This little-known,
love-it-OT-leave-it
language attacks
the game of Life
with ease.
rogrammers who have used
1 APL are rarely ambivalent
r about it. This is a program¬
ming language to either love or
hate. "Learn a proper language,
not APL," say its detractors, while en¬
thusiastic APL users react quite differ¬
ently. "Keep doing things the hard
way, or start using APL," they advise.
I paid my money, took my
chances, and rapidly became an APL
enthusiast. APL is to other program¬
ming languages what poetry is to
prose: concise, expressive, and versa¬
tile. It is easier to use than "proper"
programming languages for two rea¬
sons: it has an interactive, extensible
programming environment and simple,
consistent data handling.
BASIC programmers, when first
exposed to APL, undoubtedly will no¬
tice several similarities in BASIC and
APL. Both languages are interactive,
have commands to store and retrieve
programs from disk files, include built-
in program editing facilities, and
Pardner Wynn
Pardner Wynn is a Ph.D. candidate in
electrical engineering at Stanford University.
He is a part-time microcomputer consultant
and is cunently working on a major
educational software program for the PC.
September i984
129
APL
Figure 1: Common APL Operations
The following is a guide to a small subset of common APL operations. Short
examples illustrate how these operations are used in the Life game program.
Four test variables are used in the examples:
V is 1 3
5 7 (numeric vector)
S is 5
(numeric scalar)
M is 1 2
3 4 (2-D numeric matrix)
5 6
7 8
9 10
11 12
C is A B
C D (2-D character matrix)
E F
G H
I I
K L
Name
Description
Format
Example
Assignment
Assign value of
y—X
y-s
X to y
y^V
Puts 5 in variable y
Puts array 1 3 5 7 in y
Addition
X + y
S + 1 is 6
(scalar H- scalar=scalar)
V -h S is 6 8 10 12
(vector + scalar=vector)
V + 1 2 3 4 is
2 5 8 11 (vector-h vec¬
tor = vector)
Subtraction
X - y
Multiplication
X X y
Division
X ^ y
Logical AND, OR
X A y
lAl is 1 (true)
X V y
lOVll is 11 (true true)
Logical NOT
---x
-1 isO
'^0 is 1
Rotate
Rotate y along last
X 0 y
10V is 3 5 7 1
axis as specified
-10V is 7 13 5
by X
20Mis 3 4 12
7 8 5 6
11 12 9 10
Rotate
Rotate y along first
xOy
lOMis 5 6 7 8
axis as specified
9 10 11 12
by X
12 3 4
Format
Convert y to
®y
®Vis 13 5 7
Quad
character(s)
(7 characters: 4
digits and 3 spaces)
Output contents of
□^x
□<—V shows 13 5 7
Roll
X to display
on display
Give random integer
?x
?S gives random integer
from 1—X
from 1-5
?V gives 4 random integers
from (1-1) (1-3) (1-5) (1-7)
have a host of math, character,
program control, and program de¬
bugging functions.
This apparent similarity is mis¬
leading, however. APL takes these
common features far beyond the
capabilities of BASIC. APL work¬
spaces simplify the management of
programming projects. The language
can be extended to meet appli¬
cations. It treats data consistently—
the same operators deal with scalars
and arrays, or with numbers and
characters. Syntax is simple and un¬
ambiguous. Further, APL has an un¬
equaled assortment of built-in func¬
tions. (See figure 1.)
APL Syntax
APL syntax underscores the simplic¬
ity of the language. It requires the
user to memorize no precedence
rules. In APL, every expression is
evaluated right to left, except where
grouped by parentheses. Most lan¬
guages evaluate expressions from
left to right and give some operators
precedence over others.
For example, in the expression
4+3X2+1 = 11, multiplication
takes precedence over addition in
most languages. In APL the same
expression is evaluated right to left
as f(l+2)X3J+4=13. Multiplica¬
tion is not done first, unless paren¬
theses are used to alter the evalua¬
tion order, as in 4+f3X2) + l = ll.
Why does APL exhibit this
nonstandard lack of operator prece¬
dence? Because it's simpler. Memo¬
rizing the precedence of more than
75 built-in operators is impractical.
Since all operators in APL have the
same precedence, only parentheses
alter the right-to-left evaluation or¬
der, and any APL expression is sim¬
plified and unambiguous.
APL AND Data
No other language gives a program¬
mer control of data the way APL
does. One reason is that any APL
variable can hold any type of data—
numeric or character, scalar or ar¬
ray—at any time. Figure 2 shows
how to assign a value to an APL
variable. A very similar BASIC ex¬
pression is also shown. In fact, add¬
ing two variables is done in much
the same way in BASIC and APL.
But the similarity ends when a list
(or array) of data must be stored and
used—APL is much simpler.
APL handles arrays in the same
way it handles single numbers
(called scalars). To assign a list of
numbers to an APL variable, the
programmer simply has to do it—no
loops, no fuss. In contrast (as shown
in figure 2), BASIC must use a spe¬
cial dimensioned-array variable, and
each data value has to be loaded sep¬
arately into its spot in the array.
APL adds two arrays just as it adds
two scalars. In fact, a function con¬
taining a line that does this may be
130
PC Tech Journal
Figure 2: APL Versus BASIC
Data Handling
Assigning scalar data to
variables:
APL BASIC
NUM 1 4- 4 NUM I = 4
NUM 2 — 2 NUM 2 = 2
Adding scalar variables:
APL BASIC
SUM - NUM 1 SUM = NUM 1
+ NUM 2 + NUM 2
Assigning array data to
variables:
APL BASIC
LIST 1 — 0 24 LIST 1 [I] = 0 :
LIST 2 — 4 5 6 LIST 2 [I] = 4
LIST 1 [2] = 2 :
LIST 2 [2] = 5
LIST 1 [3] = 4 :
LIST 2 [3] = 6
Adding array variables:
APL BASIC
SUMLIST—LIST 1 + For I = 1 to 3
LIST 2 SUMLIST [I] =
LIST 1 [I] +
LIST 2 [I]
Next I
Figure 3: APL Indexing
Simple array indexing:
12 3 4
LIST 1
LIST 1 [1 3 4] 1
1
2
4
8
16
3
7
1
4
8
General array indexing:
1 2 3
DATA
'A'
'B'
'C'
1
INDEX
DATA [INDEX]
'A'
'C'
'B'
'A'
used with array data one time and
with scalar data another time.
Individual elements of an array
are accessed in APL just as in
BASIC. In figure 3, LISTI [3] is the
third element in a variable LISTI
(which is 4 in the example). APL
indexing is much more general,
however. Almost any subset of an
array can be specified by listing
which elements are desired. For ex¬
ample, LISTI [ 1 3 4 ] is an array
with three elements: the first, third,
and fourth elements of LISTI.
The second example in figure 3
better illustrates APL indexing.
DATA is a short string consisting of
three characters, "ABC"; INDEX is
a 2-by-2 matrix of numbers from I
to 3. The expression DATA[IN-
DEX] creates a 2-by-2 matrix of
characters, with an "A" wherever
INDEX is 1, "B" where INDEX is 2,
and "C" where INDEX is 3.
Because of its treatment of data,
APL is popular with programmers
who must deal with large volumes
of data. Each time APL works with
data, it determines the type of data
and behaves appropriately.
Extensible and
Interactive
APL's extensible and interactive na¬
ture is largely responsible for the
popularity of the language. It is ex¬
tensible because the user's functions
actually extend to meet his current
needs. When a function is inside
the active (memory) workspace, it is
part of APL—there is no difference
between primitive (built-in) and
user-defined functions.
Any APL function can be indi¬
vidually executed by typing its
name and any required parameters.
For example, in order to calculate
23.4X567.8, type that expression in.
APL will execute it immediately
and display the answer, 591.2. Be¬
sides being handy for "calculator-
style" computing, this interaction is
helpful for developing functions.
When APL is used to develop
an algorithm, it can test small sec¬
tions interactively, using any special
test data that are necessary. This al¬
lows programs to be created and ver¬
ified one step at a time. After using
this approach a few times, a pro¬
grammer probably will not want to
go back to the testing environment
most languages dictate—that is, edit
the whole thing, then cross your
fingers and watch for smoke.
To help the user with this mod¬
ular development, APL's debugging
facilities can trace or single-step
through the functions. This pro¬
vides a "window" into a function's
operation while it executes.
The APL Workspace
APL is not merely a programming
language. It is an interactive envi¬
ronment for program development.
Figure 4 presents an analogy to the
APL environment. A carpenter who
builds shelves and tables uses the
same workroom for both types of
work. He has a separate closet for
unfinished shelves and tables, and
probably keeps his tools, nails, and
finishing supplies in another closet.
In APL a computer's memory is
an active workspace that holds both
the functions and the data being
worked on. Different projects' work¬
spaces can be saved in disk files.
Many APL programmers also keep
"toolbox" workspaces on disks that
hold utility functions to simplify
program editing or testing. These
disk-based workspaces cannot be
worked on directly, but functions
and data can be transferred freely
between active (memory) and saved
(disk file) workspaces.
A programmer may have sev¬
eral ongoing APL projects, with a
saved workspace for each. To switch
to another project, he can save the
current active workspace in a disk
file, then copy another project's
workspace from disk into a clean,
active workspace.
The Game of Life
The best way to get a taste for what
APL can do better than other lan¬
guages is to see it in action. My first
APL solo flight was a program to
September i984
131
APL
SYMD
SYMBOLIC-DEBUGGER
Faster,
easier and
more productive
SYMD—the unique new
programming aid for PC-
DOS^^^andMS-DOS^^
systems—dramatically
reduces the time and
effort needed to identify
and correct programming
errors. SYMD simplifies
debugging by utilizing
source code symbols and
line numbers wherever
an address or offset is
required. Symbob are
easier to remember, more
efficient to use. SYMD
also lets you: Examine
and/or change real
number data; assign per¬
manent or temporary
breakpoints, including
pass counts to control
looping; check instruaion
execution sequences with
backtrace commands; use
profiling commands to
identify the most active
parts of a program. And
much more. SYMD can
be used with compiler
or assembly language
programs. System
requirements: PC-DOS
or MS-DOS 1.1 or 2.0;
192K recommended;
80-column dbplay.
SYMD b introductory
priced at only $90. Free
literature on request.
VISA or MasterCard
accepted.
tmmS-DOS is a trademark of Microsoft Corporation. tmpc-DOS is a trademark of the IBM Corporation.
^)~i~\/systems
400 Amherst Street Nashua, NH 03063 (603)881-7140
CIRCLE NO. 131 ON READER SERVICE CARD
CIRCLE NO. 159 ON READER SERVICE CARD
L
PC FORTH
IBM PC & XT,
HP-150,
Macintosh,
Apple II,
CompuPro,
Sage & CP/M-68K,
Wang PC,
All CP/M and
MSDOS computers.
WITH urn FORTH
Try the professional ^ language offering
the utmost performance in the shortest
development time. Transport your ap¬
plications between any of our enhanced
83-Standard compilers or expanded
32-bit versions. Choose from our wide
selection of programming tools including
native code compilers, cross-compilers,
math coprocessor support, and B-Tree
file managers. All fully supported with
hotline, updates, and newsletters.
Laboratory Microsystems Incorporated
Post Office Box 10430, Marina del Rey, CA 90295
Phone credit card orders to (213) 306-7412 ,
play the game of Life. Devised by
the Cambridge mathematician J.H.
Conway, this game simulates a col¬
ony of simple organisms in a con¬
fined environment. The program is
short—about 40 lines long—but
demonstrates several important APL
features: function declarations, ma¬
trix operations, temporary variables,
random number generation, string
manipulation, row reduction and
expansion, and program branching.
The game of Life is very easy.
Only three rules control the growth
of the colony: (1) an organism will
die if it has fewer than two neigh¬
bors,- (2) an organism will die if it
has more than three neighbors; and
(3) an organism will be born into an
empty spot if that location has ex¬
actly three neighboring organisms.
The program computes what the
next generation of the colony looks
like by applying these rules to each
location in the colony.
Six functions comprise the Life
game program:
NEXTGEN uses the three rules
above to compute the next gen¬
eration of organisms from the
current generation.
NUMNEIGHBORS is used by
NEXTGEN to count the num¬
ber of organisms next to each
spot in the colony.
RANDOM distributes the first
generation of organism ran¬
domly, with an initial density
selected by the player.
Each generation of organisms is
printed out by the function
SHOWCOLONY.
INITBORDER creates a variable
that is used to help print out
the colony.
LIFEGAME is the main function.
It ties together the other five
functions.
Main Data Structures
The primary data structure in Life
is the game board, which is a square
matrix. Only one organism can oc¬
cupy any one spot on the board.
132
PC Tech Journal
AT LAST! TEN IBM PC/XT
FUNCTIONS AVAILABLE
THRU ONE SLOT!
WTTHSuPHlSlIlUllirMODEM
— ANDB12H
•^SERS MANUAL
MAGNUM HARDWARE AND SOFTWARE FEATURESi
1 . SuperSmart MODEM - 212A type (300-1200)
intelligent modem with Auto Answer/Auto Dial
(touchtone/pulse). Mounts inside PC/XT where it
belongs. 52 number Auto-Dialer optional.
2. PARALLEL PRINTER PORT
3. SERIAL PRINTER/COMM. PORT.
4. GAME/MOUSE PORT
5. QUARTZ CLOCK/CALENDAR
6. MEMORY -64K to 512K bytes
7. TurboRAM - Extra RAM used as hard disk.
8. TurboSpool - Print job buffer/spooler.
9. TurboComm - SuperSmart MODEM control
program includes: Single key, built-in emulation of
such popular terminals as DEC VT-100 (ANSI
standard), Data General 605X series, ACT-5 A
and ADM-5A. Supports all standard baud rates to
19,200. Single keystroke connection to host.
Screen transmission status reporting. Full printer
and disc drive controls. Full buffering and interrupt
driven I/O). Error detection and logging. Capabil¬
ity to interactively download and upload disk files.
10. TurboFile - TurboComm’s file transfer utility
featuring: Automatic unattended file transfer
initiated any time, day or night. Transfers any file
supported by PC/DOS. Automatic error
detection and recovery. Password computer
access protection.
CHECK OUR STANDARD FEATURES
MAGNUM MEMORY
MINI-MAGNUM
MAGNUM 10
* OPTIONS
Order now! Check, M.O. Visa and Mastercard accepted • Satisfaction guaranteed. 2 years warranty
MULTI-FUNCTION AT IT’S BEST FROM
AMERICAN HIGH-TECH INDUSTRIES, Inc.
ELEVEN-ONE-ELEVEN WILCREST GREEN DRIVE
SUITE 201, HOUSTON, TEXAS
(713)952-7332
CIRCLE NO. 104 ON READER SERVICE CARD
MAGNUM MODEM
Q PACK I; Building Blocks I Object
250 Functions: DOS, $99
Printer, Video, Asynch Source
$149
□ PACK 2: Database Object
100 Functions: B-Trees, $149
Variable Records Source
$Call
□ PACK 3: Communications Object
135 Functions: Smart- $149
modem'", Xon/Xoff, Source
Modem-?, X-Modem $Call
Q PACK 4: Building Blocks II Object
100 Functions: Dates, $129
Text Windows, Source
Data Compression $Call
□ PACK 5: Mathematics I Object
35 Functions: Log, Trig, $99
Square Root Source
$Call
□ PACK 6: Utilities I Object
35 Functions: Archive, DIR $99
Manipulation Source
$Call
NOTE: Above Packs for Lattice'" Compiler on
IBM PC/XT'"
To Follow: Graphics, Advanced Math, Other
Compilers and Hardware
Prices above for single user, multi user
license available
Credit cards accepted ($7.00 handling/Mass.
add 5%)
SOfTWflRf
tiORizons
inc.
165 Bedford Street
Burlington, Mass. 01803
(617) 273-4711
APL
System Memory
An APL Programmer's Workspace
A Carpenter's Workspace
Figure 4: The APL Environment
Each spot has eight adjacent spots,
so an organism may have up to
eight neighbors. The simplest struc¬
ture is a matrix with a 1 in every lo¬
cation that has an organism, and a 0
in each empty spot.
The matrix variable, COLONY,
is illustrated in figure 5 for a 5-by-5
game board. In that example five
organisms in COLONY are denoted
by Is in the matrix. In APL, as in
BASIC, the elements of an array are
referred to by indexing. For in¬
stance, the five organisms in COLO¬
NY are located at the coordinates
[2;3] (row 2, column 3), [3;3], [3;2],
[4;2], and [4;4]. Thus, COLONY
[4,4] is an APL expression referring
to the organism near the lower right
corner of the game board.
Five more variables the same
size as our game board COLONY
CIRCLE NO. 175 ON READER SERVICE CARD
PC Tech Journal
EVERY PROG RAMMER/ANALYST NEEDS . . .
zsHfear
THE STRUCTURED PROGRAMMING TOOL!
Design your programs right on the screen using modern techniques based on the popuiar Jackson
Structured Programming method (JSP)!
DEZiGN is more than just another fiowcharting tool It is an integrated tooi for designing and
documenting programs and for generating source code in any of the languages listed above!
DEZIGN enables a software developer to create Data and Program Structure Diagrams using the
Sequence, Selection, and Iteration constructs; assign detailed statements to the Diagrams; and
synthesize source code from the control logic represented on the Diagrams and the detailed
statements assigned to them.
DEZIGN lists for $200 and is available directly from Zeducomp, from IBM and Zenith personal
computer dealers, and from software retailers.
• DEZIGN-PC runs under DOS 2.0 and 2.1.
• DEZIGN-86 runs under CP/M-86 1.1 and Concurrent CP/M-86.
• DEZIGN-16 runs under ZDOS on Zenith Z-100 computers.
“Principles of Program Design,” by M. Jackson, Academic Press, describes the JSP metholology
and is available for$50 directly from Zeducomp and from most professional/technical bookstores.
dBASE II is a trademark of Ashton-Tate, Inc.
CIRCLE NO. 184 ON READER SERVICE CARD
APL
Figure 5: Life Data Structures
row
1
2
3
4
5
COLONY
NEIGHBORS
LONELY
CROWDED
(NEIGHBORS<2 A COLONY) (NEIGHBORS>3 A COLONY)
1
2
3
4
5
1
0
0
0
0
0
2
0
1
1
0
0
3
0
1
0
0
0
4
0
1
0
0
0
5
0
0
0
0
0
1
column
2 3 4
5
1
2
3
4
5
1
2 3
4 5
0
0 0
0
0
1
0
1
1
1
0
1
0
0 0
0 0
0
0 1
0
0
2
1
3
2
2
0
2
0
1 [F
0 0
0
1 1
0
0
3
2
3
4
2
0
3
0
1 0
0 0
0
1 0
1
0
4
2
2
4
1
0
4
0
I 0 0
0
0 0
0
0
5
1
1
0
0
0
5
0
0 0
0 0
BORN
(NEIGHBORS=3)
1
2
3
4
5
1
2 3
4
5
1
2
3
4 5
1
0
0
0
0
0
1
0
0 0
0
0
1
0
0
0
0 0
2
0
0
0
0
0
2
0
0 fo"
0
0
2
0
0
fo"
0 0
3
0
0
0
0
0
3
0
0 1
0
0
3
0
T"
1
0 0
4
0
0
0
1
0
4
0
0 0
0
0
4
0
0
0
□
o
5
0
0
0
0
0
5
0
0 0
0
0
5
0
0
0
0 0
DIED
(LONELY V CROWDED)
the next COLONY generation
((BORN) V (COLONY A ~ DIED))
^lALLTREE
H SYSTEMS
* INTRODUCING
JRAM-2
THE ONLY
TWO MEGABYTE
MULTIFUNCTION
BOARD
Break through the 640K-byte memory
barrier! Put two MEGABYTES of
RAM plus all the most popular I/O
functions—serial ports, parallel ports,
and clock/calendar—in a single PC
slot! Includes JETDRIVE RAM disk
and JSPOOL printspooler.
JRAM-2 OPTIONS
JRAM-2 OK.$219
JRAM-2 OK, Clock/Cal.$299
JRAM-2 OK, Serial, Parallel
ports, Clock/Cal.$399
JRAM-2 OK, Two Serial ports .. .$349
JRAM-2 OK, Two Serial ports,
Clock/Cal.$399
JRAM-C (For Columbia PC)
OK, Clock/Cal.$249
MEMORY
64K chips $50/Bank
256K chips $500/Bank
DOS 2.0, 2.1 SOFTWARE
JETDRIVE.$60
WINDRIVE.$60
JFORMAT-2.$60
JSPOOL.$60
TALL TREE SYSTEMS
1032 ELWELL COURT, SUITE 124
PALO ALTO, CA 94303
(415) 964-1980
are used. The variable NEIGHBORS
(figure 5) keeps track of how many
neighbors each spot on the board
has. For example, the location
COLONY[2;2] has three adjacent or¬
ganisms (marked by Is in locations
[2,-3], [3;3], and [3;2]). Therefore,
NEIGHBORS[2;2] equals 3.
Each spot in COLONY with ex¬
actly three neighbors is marked by a
1 in the variable BORN, as in figure
5. This variable is used to enforce
the rule that an organism can be
born into an empty spot with three
neighboring organisms.
LONELY and CROWDED mark
the location of each organism that
will die because it has fewer than or
more than three neighbors. DIED
combines LONELY and CROWDED
into one matrix.
The NEXTGEN Function
The heart of the Life program is the
NEXTGEN function. This function
computes what the next generation
of COLONY will look like; it is an
expression of the three rules of Life
that were presented above.
Each line in the NEXTGEN
function implements a separate
portion of the game rules. APL's
simplified array handling lets each
line do the work of a half-dozen
statements in conventional lan¬
guages. As soon as a user is familiar
with some basic APL symbols and
syntax, a function such as NEXT¬
GEN is easy to read and write.
The first line (0) of any APL
function is a function declaration. It
gives the name of the function, how
the function is used, and what (if
any) temporary variables are to be
created for use by the function.
In figure 6, line 0 of NEXT¬
GEN declares five temporary vari¬
ables that will exist only while
NEXTGEN is executing. These
temporary variables are declared by
136
Drowning
a sea of
sohilions
Help's within
reach...
Applications backlog. Technology blur. Mounting user
pressures. Staying abreast of changing prices. A tidal wave of
problems!
Even if some answers are available, you have to go to too
many sources and sift through so much information, there’s not
enough time to locate the solutions to your immediate and most
important problems.
Well, help IS within easy reach—in the form of an informa¬
tion system that displays all your current software, hardware and
communications options for instant reference.
That system is DATA SOURCES, and you’re invited to make
it work for you. Simply fill in the coupon and we’ll send you DATA
SOURCES’ 4 quarterly editions at 33% off their regular price.
What DATA SOURCES does is organize your options. It
guarantees that you’ve considered all relevant products by guid¬
ing you to those with the best possibility of success.
DATA SOURCES is a conveniently sized, extremely well-
organized and skillfully indexed 2-volume reference...maintained
on a data-base, constantly updated and published quarterly
YOU GET...
HARDWARE—Over 16,000 products from Micros to Mainframes
including peripherals—terminals, printers, memory devices, etc.
...organized by systems compatibility
SOFTWARE—The largest available inventory of 18,000 business
packages for micros, minis, and mainframes including operating
systems, utilities, and application packages.
COMMUNICATIONS EQUIPMENT—From modems and multi¬
plexors to local networks, carriers and services, plus all diagnos¬
tic and test equipment.
SERVICES, SUPPLIER, SUPPORT—Most complete organized list¬
ing of suppliers from installation design to maintenance and data
center operations—over 8,000 companies.
NEW FEATURES...
1 /^ Software Index—by package name.
Quick-reference piqued comparison charts.
Before-you-buy selection criteria and cdieckiist.
ProductHotline—the very latest information on
products announc:ed between issues of
Data Sourcres.
\ ORDER NOW AND SAVE $60
I VXci I two-volume edition of DATA SOURCES
I I0o! and enter my subscription at $120.00 for 4 quarterly edi¬
tions. I save a full 33% off the regular price of $180.
Name_
Title_
Company.
Address^___
City_State_Zip-
Telephone-
Nature of Company’s Business^---
Please check appropriate box: □ END USER □ VAR/OEM
□ DISTRIBUTOR □ DP MFC □ OTHER_
An information product of Ziff-Davis Publishing Company Satisfaction
guaranteed | QAA OOH 1 Al 7
SAVE TIME...CALL DIRECT 1 "lUl 1
Return coupon to:
DmnsouRCis
EXT. 251
(InCa., 1-800-772-3545 Ext. 251)
T316
PO. Box 5845, Cherry Hill, N.J. 08034.
Residents of Ca.. Co., Ct.. D.Q. FI, U., Ma.. Mi., Mo., N.J., N.Y, Vt., please add applicable state taxes.
CIRCLE NO. 202 ON READER SERVICE CARD
EDITOR
Programmers
&
DP Professionals
Edit Tool
! ' —■ - 1
List $225, demo disk $10
micro flexibility . . .
Multi-Window/File
full screen editing;, ufi to 20 files
Move/Copy/Delete
one or inon* marked blocks
Directory w /Free Space
also read, urite, rename, erase files
Build New Commands
with key macros
Power Down Recovery
and i)f)tional auttt'haekup
Restore Deleted Text
fylus view scratch buffers
Interactive and Batch Processing
Exparided Data Management
Subsystem with New Data
Transforms
Reading data files created by other
programs
3 types of Analysis of Variance
Time Series
Crosstabs and Chi-Square
Factorials. Permutations, and
Combinations
Hypothesis Tests
mainframe power . . .
Search and Replace
u'ith repeat and leildeards
Large Files
edit iii’n /
Fixed Length Records
as lonfi as 00,000 bytes
Hex /EBCDIC Editing
-gRCLE NO. 166 ON READRR S F.RVICE CARD
AmeriSoft ™
(707) 778-8594 • (707) 762-0640
345 S. McDowell Blvd., Ste. 410
Petaluma, CA 94952
Data sets that can exceed memory
Multiple Regression (including
Stepwise)
Scatterplots (including best fit
regression)
Correlation Anaiysis
12 Nonparametric tests
8 Probability Distributions
Descriptive Statistics
Easy Installation
APL
listing the desired variable names
on line 0, preceding each one with a
semicolon. These variables hold sev¬
eral intermediate results.
Compare the NEXTGEN func¬
tion declaration (line 0) in figure 6
to line 8 of the LIFEGAME function
in figure 12, where NEXTGEN is
actually used. The two lines are
similar in form (ignoring the five
declared temporary variables). The
function declaration provides a tem¬
plate for how the function is used.
In line 8 of LIFEGAME,
NEXTGEN is executed with one in¬
put parameter, the COLONY game
board. It also has an output (the up¬
dated game board) that is assigned to
another variable (in this example
COLONY is used again, but any
variable could have been used to
''catch" NEXTGEN's output data).
The NEXTGEN function decla¬
ration supports this by providing a
temporary input variable (called
COLONYIN) and a temporary out¬
put variable (called COLONYOUT).
Whenever NEXTGEN is used, in¬
put data (COLONY, in the example)
are copied into NEXTGEN's tempo¬
rary input variable. When the func¬
tion ends, whatever is in the tempo¬
rary output variable is automatically
assigned to the indicated variable
(COLONY in line 8 of LIFEGAME).
NEXTGEN does not care what
the name of the original input data
is, or where the data came from.
NEXTGEN can thus be used in sev¬
eral places with different variables.
An APL function declaration,
then, completely describes how a
function is used. NEXTGEN re¬
quires one input parameter, and
returns an output value. It also re¬
serves five temporary variables to
accumulate intermediate results.
The remainder of the function
definition describes how it works.
Line 1 of NEXTGEN uses the
NUMNEIGHBORS function to
count the number of neighboring
organisms for each spot in
I COLONYIN (which is a copy of the
Microstats algorithins hav© boon d 0 sign©d to prevGnt numBric ovsiflow ©rrors
and yie d unsurpassed accuracy. Microstat's price is $375.00 including the user's
manual and is available for the Z80. 8086, 8088 CPU's and CP/M80 CP/M86
MS-DOS. and PC-DOS. To order, call or write.
6413 N. College Ave. • Indianapolis, IN 46220
(317) 255-6476
Trademarks: Microstat (Ecosoft), CP/M (Digital Research), MS-DOS TMicrosoft
PC-DOS (iBM), Z80 (Zilog), 8086, 8088 (Intll). ^ ^MicrosoTT;.
CIRCLE NO. 109 ON READER SERVICE CARD
New Release
4.1
We've continually improved Microstat since it was introduced in
1978, and the latest release includes nnany new features you've
wanted.
138
PC Tech Journal
Professional BASIC ™ cuts your
program debusing time in half.
Or your money back.
mm ntroducing Professional
U BASIC A powerful new
BASIC programming language that
can help you debug, or learn—and
then master—the language. Profes¬
sional BASIC can actually double
your programming efficiency. Or
your money back. *
What You See Is What You Get.
Because Professional BASIC has a
sophisticated window-oriented
system environment—containing
more than a dozen visualization
and debugging screens—you see
clearly and precisely the execution
of your program. Line by line pro¬
gram execution unfolds via a dy¬
namic program trace... showing
changes in variables or array ele¬
ments ... or the progress of FOR/
NEXT loops or GOSUBS. Using Pro¬
fessional BASIC, even beginning
programmers will be able to pro¬
duce code quicker, with far less
frustration.
Now, Access All The Memory Of
Your PC.
Professional BASIC can use all of
the mem¬
ory avail¬
able in
your IBM
64
256
640
Personal Com¬
puter. (If expan¬
sion boards are
used, that means
upto640K.)Now
you can create and
run programs almost as big as your
imagination—and talent.
BASIC was de¬
signed to use the ultra¬
fast 8087 math coprocessor.
The 8087 allows floating-point
math operations to be performed
with lightning speed. Professional
BASIC enables you to fully utilize
the 8087—to dramatically acceler¬
ate execution of programs involving
complex floating-point computa¬
tions. (8087 coprocessor optional.)
Read What The Experts Say.
“This version of BASIC sets new
standards for
usability and ‘user
friendliness’.” “Morgan’s
product supports, in an unprec¬
edented way, the visualization of
program execution.”
April 1984
Byte Magazine
“The real magic of Profes¬
sional BASIC is its wealth
of‘windows’ into an ex¬
ecuting program.” “I’m
frankly amazed. My hat
is off to Dr. Bennett...
An elegant piece of cod¬
ing indeed.”
February 1984
Personal ComputerAge
“This version of the
language sets new stan¬
dards ...” “The user interface...
is unbeatable for program develop¬
ment. ” “... You owe it to yourself to
pick up the phone and order a copy
of Professional Basic. ”
June 1984
Dr. Dobb's Journal
The 8087 Connection. Accurate,
High-Speed Math.
Makes Learning The BASICs
A Snap.
Learn more about the BASIC lan¬
guage ... in significantly less time.
With Professional BASIC there are
over 18 different ways to view your
program as it operates, step by step.
On a split screen display you
see, on one side, a dynamic
display of
executing
program’s
code... on
the
other
side you
actually see
changes in variables
as they occur.
PROFESSIONAL BASIC
SPECIFICATIONS
IBM PC or XT™, Compaq™, or
100% compatibles.
DOS 2.x operating system.
1 Double-sided disk drive.
256K RAM minimum (384K
recommended)
8087 Chip optional
Ask your local dealer for a
demonstration, or call or write
Morqan Computing Co., Inc. at
1040D N. Central Expressway,
Suite 210, Dallas, Texas 75231
(214/739-5895). Suggested re¬
tail is $345.00. (Dealer inquiries
welcome.) Demo disk is $5.00
(includes demo on TRACE86™
andTED “).
•Sole remedy for failure of product to double your
debugging speed is return of full purchase price. To
obtain a refund you must act within thirty (30)
days of purchase (i.e.. return both product and
original sales receipt) amd have completed and filed
all warranty registrations with MCC. Further, you
must reaffirm you have not copied the product
or violated any copyright of MCC. Contact
MCC for additional information. Offer expires
November 1. 1984.
Morgan Computing Co., Inc.
Software Designed
By Professionals.
For Professionals.
CIRCLE NO. 135 ON READER SERVICE CARD
APL
Figure 6: NEXTGEN
i:
0 3
COLONYOUT
*•
NEXTGEN COLONYIN ;NEIGHBORS
;B0RN ;LONELY ;CROWDED ;DIED
i:
13
NEIGHBORS
*•
NUMNEIGHBORS COLONYIN
c
23
BORN
*■
NEIGHBORS = 3
c
33
LONELY
«-
COLONYIN •• NEIGHBORS < 2
L
43
CROWDED
€-
COLONYIN • NEIGHBORS > 3
c
5 3
DIED
LONELY V CROWDED
L
63
COLONYOUT
<-
BORN V COLONYIN - '"DIED
Figure 8: RANDOM
: 03 RANDOM
: 13 COLONY (? (SIZE, SIZE) F 100) I DENSITY
Figure 7: NUMNEIGHBORS Figure 9: SHOWCOLONY
C
0 3
TEMPOUT
«■
NUMNEIGHBORS TEMPIN
C
1 3
TEMPOUT
«-
1 5 1 e
TEMPIN
C
23
TEMPOUT
«-
TEMPOUT
+
1 e
TEMPIN
C
3 3
TEMPOUT
€-
TEMPOUT
4 -
-1 5
1 e TEMPIN
C
43
TEMPOUT
TEMPOUT
+
-1 5
TEMPIN
C
53
TEMPOUT
«-
TEMPOUT
+
“1 5
-1 e TEMPIN
C
63
TEMPOUT
TEMPOUT
+
-1 e
TEMPIN
C
73
TEMPOUT
<r
TEMPOUT
+
1 I-
-1 e TEMPIN
C
83
TEMPOUT
<-
TEMPOUT
+
1 5
TEMPIN
C 03 SHOWCOLONY ; CHARINDEX ; CHAROUT
C 13 CHARINDEX ^ BORDERMASK + COLONY + 1
C 23 CHAROUT €- 'X 0' C CHARINDEX 3
C 33 ((SIZE X 2) F 0 1) \ CHAROUT
C 43 □ 'GENERATION NUMBER; tGENERATION
i: 53 □ 'CURRENT POPULATION: ', tPOPULATION
C 63 □ <■ ' '
C 730^''
COLONY game board) and puts the
resulting matrix in the temporary
variable NEIGHBORS. In figure 5,
COLONY[2;2] has three neighbor¬
ing organisms, so NEIGHBORS [2;2]
is equal to 3.
Line 2 of NEXTGEN puts a 1
in each location of BORN corre¬
sponding to a COLONYIN spot
with exactly three neighboring or¬
ganisms. BORN can thus be used to
enforce the Life game rule that an
organism will be born into an
empty spot if that location has ex¬
actly three neighboring organisms.
The APL expression NEIGH¬
BORS =3 produces a matrix the
same size as NEIGHBORS. Where
NEIGHBORS equals 3, the expres¬
sion is true, and a 1 is put in that
location in the matrix. Where
NEIGHBORS does not equal 3, the
expression is false, so a 0 is put in
the matrix. This matrix is stored in
the BORN variable (see figure 5).
Notice that the expression in
line 2 performed a logical operation
on every location of an arbitrarily
sized matrix. This economy of ex¬
pression is unique to APL.
The Life rule that an organism
will die if it has fewer than two
neighbors is enforced in a similar
way by line 3 of NEXTGEN. As
illustrated in figure 5, the variable
LONELY marks the location of each
organism that will die. The expres¬
sion NEIGHBORS <2 does most of
the work by marking each location
in COLONYIN that has fewer than
two neighboring organisms.
T he NEXTGEN
function demon¬
strates how easily
(and automatically) APL
handles matrix data. The
user never has to be con¬
cerned with the size or
shape of a matrix.
When NEIGHB0RS<2 is
ANDed with COLONYIN, only
those board locations with fewer
than two neighbors and with an or¬
ganism present are marked. This
works because of the data structure
that is chosen for the game board
COLONY: locations with an organ¬
ism present have a 1, empty spots
hold a 0. A logical AND puts a 1 in
LONELY where both COLONYIN
and NEIGHB0RS<2 are 1.
The rule that an organism will
die if it has more than three neigh¬
bors is enforced in line 4 using the
same method as was used in line
3—the CROWDED variable marks
locations that have an organism and
more than three neighbors.
Line 5 of the NEXTGEN func¬
tion marks each organism in
COLONYIN that will expire. That
is, a logical OR operation allows the
variable DIED to mark each loca¬
tion where an organism is either
LONELY or CROWDED.
The last line of the NEXTGEN
function updates COLONYOUT to
the next generation of organisms.
The next COLONY generation is
depicted in figure 5.
The NEXTGEN function
demonstrates how easily (and auto¬
matically) APL handles matrix data.
The user never has to be concerned
with the size or shape of a particu¬
lar matrix. To find exactly which
locations in a matrix are greater
than two, a simple expression like
MATRIX>2 is sufficient.
The NUMNEIGHBORS
Function
NUMNEIGHBORS uses two simple
but powerful matrix rotate opera¬
tions to perform some elementary
''signal processing" on the game
board. The NEXTGEN function
140
PC Tech Journal
^ 2 ^
f»i\ The Most Advanced, Affordable Way to
Trarisforinfour Personal Computers into a fully
DISKLESS
CAPABILITY
• With remote
boot option,
PC without
diskette drive
automatically
downloads
DOS from disk
server at
power up
PRINTER SHARING
• Non<dedicated printer
server on any PC
EACH DISK/FILE
SERVER
• Up to 16 public and
private volumes
• More than one
private/public read
write volume for
each PC
RAM DISK
• Provides faster
access than hard disk
and diskette drive
DISK CACHING
• Improved speed in
accessing data normally
on the disk drive
Hard Disk
PCnet is the lowest cost network for
IBM™ PCs. Take your choice.
$495 per node when purchased as a
stand-alone.
$395 per node when purchased with
BLOSSOM (384K RAM, Clock, lO)
Orchid, the creator of PCnet, has made
high-performance local area networking
affordable to all PC users. Contact your
local dealer or Orchid today to unlock the
power of your IBM PC and find out more
about our full line of products.
PCnet—Stand-alone Network Board
PCnetPlusRam—PCnet + 256K RAM
PCnetBlossom—PCnet + 384KRAM +
Serial Port + Parallel Port + Clock Calendar
Blossom—New Generation Multifunction
Board
PCturbo-The Ultimate IBM PC
productivity enhancement board
IBM PC is a registered trademark of International Business Machine Corporation.
PCnet, PCnetPlusRam, PCnetBlossom, Blossom and PCturbo are all trademarks of Orchid Technology.
CIRCLE
ORCHD
ORCHID TECHNOLOGY
47790 Westinghouse Drive
Fremont, CA 94539
(415) 490-8586 Telex: 709289
APL
Figure 10: Printing COLONY
1
2
3
4
5
1
2
3
4
5
1 2
3
4 5
1
0
0
0
0
0
1
0
0
0
0
0
1
1 1
1
1 1
2
0
0
I
0
0
2
0
1
1
1
0
2
1 2
3
2 1
3
0
1
1
0
0
3
0
1
1
1
0
3
I 3
3
2 1
4
0
1
0
1
0
4
0
1
1
1
0
4
1 3
2
3 1
5
0
0
0
0
0
5
0
0
0
0
0
5
1 1
1
1 1
COLONY BORDERMASK CHARINDEX
(COLONY + BORDERMASK + 1)
1 2 3 4 5
XXX
X 0
X 0 0
X X
X
X
X 0
XXX
0 X
X X
CHAROUT
'X 0' [CHARINDEX]
Figure: 11: INITBORDER
C O: INITBORDER
C ID BORDERMASK (SIZE,SIZE) F 1
C 2D BORDERMASK C 1,SIZE ; D <- 0
C 3D BORDERMASK C ; 1,SIZE D <- 0
Figure 12: LIFEGAME
C
OD
LIFEGAME
C
1 D
INITBORDER
c
2D
RANDOM
c
3D
COLONY «■ COLONY BORDERMASK
i;
4D
POPULATION €- +/ ,COLONY
c
5D
GENERATION <- 1
c
6D
LOOP; -JEND X i-POPULATION = 0
c
7D
SHOWCOLONY
c
8D
COLONY «• NEXTGEN COLONY
c
9D
GENERATION GENERATION + 1
c
lOD
COLONY €■ COLONY BORDERMASK
c
IID
POPULATION <- +/ ,COLONY
c
12D
-*LOOP
i;
13D
END: □ 'ALL ORGANISMS EXTINCT!
c
14D
□ *■ 'Goodbye. '
uses NUMNEIGHBORS to compute
the number of organisms adjacent to
each location in COLON YIN. As
figure 7 shows, line 0 in NUM¬
NEIGHBORS copies the game board
in COLONYIN into a temporary in¬
put variable called TEMPIN; it re¬
turns an output value (to NEIGH¬
BORS) via the TEMPOUT (tempo¬
rary output) variable. No other tem¬
porary variables are used.
One way to write NUM¬
NEIGHBORS is to examine each
spot in TEMPIN individually and
count the number of Is (organisms)
in the eight adjacent spots. This
works, but there is a simpler way to
approach the problem. Every organ¬
ism (marked in TEMPIN with a 1)
has eight adjacent locations. If we
add Is to the eight locations adja¬
cent to each organism in TEMPIN,
the result is the same as the original
suggestion: every spot with n adja¬
cent organisms holds the number n.
The Is can be added to the
TEMPIN variable using two APL
rotate operators (refer to figure 1).
Line 1 of NUMNEIGHBORS tem¬
porarily shifts TEMPIN (a copy of
COLONYIN, which is NEXTGEN's
copy of the COLONY board) up one
row and left one column, and stores
this matrix in TEMPOUT. This
procedure puts a 1 in each location
that is up and to the left of an or¬
ganism. Line 2 temporarily shifts
TEMPIN up one row and adds this
to the previous TEMPOUT matrix.
For each organism on the board
(TEMPIN), a I has been added to
the two locations: up one and left
one; and up one. For each empty
spot on the game board. Os have
been harmlessly added to the same
two relative locations since empty
spots are represented by Os.
Lines 3 through 8 of NUM¬
NEIGHBORS repeat this process for
the remaining six locations adjacent
to each organism. When NUM¬
NEIGHBORS finishes, each or¬
ganism has added a I to each of its
eight adjacent spots. The final
count, stored in the temporary
output matrix TEMPOUT, is as¬
signed to NEIGHBORS in line 1 of
the NEXTGEN function.
The random Function
RANDOM demonstrates APL's sim¬
ple facilities for random number
generation. For small game boards,
such as those in figure 5, a Life
program user could create his own
initial COLONY matrix. However,
Life is most interesting with a board
measuring 15 by 15 or larger—even
though typing in 225 matrix ele¬
ments is somewhat tedious.
The RANDOM function will
scatter organisms randomly
throughout COLONY. A user has
some control over how COLONY
starts oflf, since he uses the DEN¬
SITY variable to select the approxi¬
mate initial percentage of occupied
COLONY locations. If the user se¬
lects an initial population density
that is too low (5 percent) the organ¬
isms are spread thinly, and they rap¬
idly die out because they have
142
PC Tech Journal
What’s the best recommendation
you can make \siienyou^ asked
about business graphics?
The New
Business Profes¬
sional Plotter from
Hewlett-Packard—
The 6-Pen HP 7475A
Today, business professionals are
becoming more aware of the vital im¬
portance of business graphics to their
success. Tomorrow, they may be asking for
your recommendation. Here’s some important
information that will help you. Tell them...
Make a first impression that lasts
Truly impressive graphic presentations can create a first
impression of quality and professionalism that lasts and
lasts. The way you present your information can be equally
as important as the information you’re presenting. And that’s
where the new HP 7475A Business Professional Plotter lets your
professionalism shine through.
Standards unsurpassed in the plotter business
The technical standards of the HP 7475A have no equal for produc¬
ing quality graphics. With a resolution of one-thousandth-of-an-
inch, curved lines are smooth, not jagged, and straight lines are
consistently straight. Its exceptional repeatability (the ability of a
pen to return precisely to a given point), assures that intersecting
lines and circular shapes will meet exactly
Compatible with almost any personal computer
in your office and supported on today’s most
popular graphics software packages
The HP 7475A quickly “makes friends” with most of the personal
computers you may already have in your office, including IBM®,
Apple™, Compaq™, Osborne®, and Commodore™—as well as a
host of HP computers. You even have a choice of many off-the-
shelf software packages that give you “first-day” productivity with
Another choice:
HP’s low-cost,
high performance
Personal Computer
Plotter
For the “business on a budget,” you
may also want a look at our 2-pen
Personal Computer Plotter, the HP
7470A. Its low-cost (only $1095) is as
remarkable as the quality of its plots. With
many of the same features as the new HP 7475A,
the HP 7470A plots on media up to x 11/' It
stores and caps two-pens, and you can easily change
the pens for multi-color plotting.
Name.
. Title
Company.
1101304
I-—I
I YES! I want to make the most informed business graphics |
I recommendation I can. Please send me your FREE “Better |
I Presentation Package,” so I can learn more about the new HP |
I 7475A Business Professional Plotter and the HP 7470A i
I Personal Computer Plotter. I understand I will receive this ■
I valuable package without cost or obligation. j
Send for your FREE ‘^Better Presentations
Package!*’ today!
For a FREE sample plot, overhead transparency, and more details,
mail the coupon below. We’ll also enclose a list of software packages
you can use right “off-the-shelf!’
CIRCLE NO. 238 ON READER SERVICE CARD _
For the name of your nearest HEWLETT
Hewlett-Packard dealer call PACKARD
toll-free 800-FOR-HPPC.
the HP 7475A.
Address
Your Choice: 2 media sizes
While most professional business applications will be satisfied
with standard 8!4 x 11" paper or transparencies, the HP 7475A
adds the capability of plotting on larger 11 x 17" media, too.
City, State & Zip_
Phone Number ( )
The cost? Surprisingly affordable
My computer is
The new HP 7475A Business Professional Plotter is an amazingly
affordable $1895. When you consider the high cost of having your
graphics prepared by an outside service, you’ll find the return on your
investment is almost immediate.
Send to: Hewlett-Packard, 16399 W. Bernardo Drive,
San Diego, CA 92127
Attn: Marketing Communications
^ 11304PT9
APL
fewer than two neighbors. If the
initial population is too dense (50
percent or more), massive initial
overcrowding thins the organisms
quickly. Initial densities from 15 to
30 percent seem to fare best.
Although RANDOM (figure 8)
is only one line in APL, the core ex¬
pression, SIZE, SIZE P100, creates a
matrix with SIZE rows and SIZE
columns, with the value 100 in
each location. When the ? operator,
called roll, is applied to this matrix,
it replaces each 100 with a random
number from 1 to 100 inclusive.
Each element of this new ma¬
trix (which is now filled with ran¬
dom numbers from 1 to 100) is com¬
pared to the global variable DEN¬
SITY, a scalar value of 1 to 100. The
COLONY matrix is created with a 1
in every location in which the ran¬
dom number was less than or equal
to DENSITY, and a 0 in every other
spot. For a low DENSITY value like
5, about 5 percent of the random
numbers will be less than or equal
to DENSITY, so about 5 percent of
COLONY elements will be Is.
The SHOWCOLONY
Function
The SHOWCOLONY function (fig¬
ure 9) introduces APL character
handling and provides an example
of the language's powerful array in¬
dexing. To display the successive
generations of COLONY, the user
could just print out the variable
COLONY. However, the resulting
pattern of Is and Os would be a bit
overwhelming. SHOWCOLONY is
used to transform COLONY to the
CHAROUT format shown in figure
10. Three characters are used in the
print-out: an X for the colony bor¬
ders, a space for empty spots, and
the letter O for organisms.
SHOWCOLONY can be fit on
two or three lines if no temporary
variables are used, but the resulting
definition is rather obscure. The
temporary variables CHARINDEX
and CHAROUT are introduced to
Figure 13: A Sample Run of the LIFEGAME Program
H A Sample run of the Life Game Proqram
H <— NOTE: this symbol starts an APL comment; anything
R typed after it is ignored bv APL.
H ++<-++ INSTRUCTIONS +++ + +
H 1. Assign the sise of the game board to SIZE.
R 2. Assign a density from 1 to 100 to DENSITY.
R 3. Type’LIFEGAME ...
H +++++ EXAMPLE: +++++
SIZE ^ 20
DENSITY <- ^
LIFEGAME
XXXXXXXXXXXXXXXXXXXX
xxxxxxxxxxxxxxxxxxxx
o o
0 0 0
0 0 o
0 0
0 0 0
o
o o
xxxxxxxxxx
GENERATION NUMBER:
CURRENT POPULATION:
XXXXXXXX
xxxxxxxxxxxxxxxxxxxx
GENERATION NUMBER: 5
CURRENT POPULATION; 32
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx
0 □
0
0 o
0
xxxxxxxxx
GENERATION NUMBER:
CURRENT POPULATION; 22
xxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
GENERATION NUMBER; 6
CURRENT POPULATION; 16
xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx
0 0 0
0 0
0 o
0 0
0 0
0 o
xxxxxxxxx
GENERATION NUMBER:
CURRENT POPULATION;
XXXXXXXXXXX
3
26
XXXXXXXXXXXXXXXXXXXX
0 0 0 0 0 0
XXXXXXXXXXXXXXXXXXXX
GENERATION NUMBER: 4
CURRENT POPULATION: 18
XXXXXXXXXXXXXXXXXXXX
GENERATION NUMBER: 7
CURRENT POPULATION; 4
XXXXXXXXXXXXXXXXXXXX
O O
O O
XXXXXXXXXXXXXXXXXXXX
GENERATION NUMBER: 8
CURRENT POPULATION: 4
144
PC Tech Journal
Figure 14: ModiRed RANDOM Function
L
01
RANDOM
C
n
R create
a
20x20 matrix of O's
C
23
COLONY
«■
20
20 P 0
C
33
R
C
43
R put
1
' 5
in COLONY to define Cheshire
C
53
R
Cat pattern
C
63
COLONY
C
7
; 9 12 3 <- 1
C
73
COLONY
c
8
; 9 10 11 12 3 <■ 1
C
83
COLONY
c
9
10 11 ; 8 3 1
C
93
COLONY
c
9
10 11 ; 13 3 1
c
103
COLONY
c
12
; 9 10 11 12 3 «■ 1
c
113
COLONY
c
10
; 10 11 3 1
alternating Os and Is that is twice as
wide as COLONY. The expansion
operator uses this as a template to
form a new character matrix: in
each row of CHAROUT, an extra
blank is inserted for each 0 in the
template, and a character in CHAR¬
OUT is inserted for each 1. This ex¬
panded version is printed by assign¬
ing it to the quad function.
help logically separate subtasks
within the function. It is wise to do
this whenever a function definition
starts to look a little complex.
The function declaration for
SHOWCOLONY is simpler than for
NEXTGEN, NUMNEIGHBORS,
and RANDOM. It has no input pa¬
rameter, and no output value is re¬
turned. SHOWCOLONY takes its
input directly from COLONY and
displays its output on the screen.
The rightmost expression in
line 1 of SHOWCOLONY (figure 9)
adds 1 to every location in COL¬
ONY, so an organism is represented
by a 2, and a blank spot by a 1. This
intermediate result is added to BOR-
DERMASK (which the function
INITBORDER creates with Os
around the outer edges, and Is in¬
side, as discussed below). The result
of line 1 is a matrix (stored in
CHARINDEX) that has a 1 in every
border location, a 2 in each empty
spot, and a 3 for each organism.
Line 2 of SHOWCOLONY uses
APL's powerful array indexing.
Since CHARINDEX is a COLONY-
sized matrix with values ranging
from 1 (border) to 3 (organism), the
dummy variable CHAROUT will
be assigned a COLONY-sized matrix
with an X in each location where
CHARINDEX = 1, a space wher¬
ever CHARINDEX = 2, and an O
wherever CHARINDEX = 3.
A display of CHAROUT would
look a little cramped. Line 3 of the
SHOWCOLONY function uses the
expansion operator \ to spread out
CHAROUT when it is printed. The
leftmost expression creates a row of
Winchester power
for your PC
The proven Winchester subsystem drives for your IBM
or compatible PC. 10,15, 25, or 33 mesabytes of bis
system storase in a DiskSystem® you simply plus into
your system and it’s ready to use. At prices that make
the speed and storase of a Winchester practical. Only
$1495 for a 10 mesabyte DiskSystem, $1795 for 15
mesabytes, $2245 for 25 mesabytes, or $2795 for 33
mesabytes. DiskSystems can be bootable from the
Winchester. See your dealer today for DiskSystem
power for your PC.
Interface Inc
21101 Osborne Street
Canosa Park, CA 91304
(818) 341 -7914 • Telex: 662949
Dealer Inquiries Invited
DiskSystems is a copyright of Interface Inc. IBM is a registered trademark of IBM
Corporation. Prices are suggested retail and are subject to change without notice.
September i984
DEALER INQUIRIES CIRCLE NO. 149 ON READER SERVICE CARD
END USERS CIRCLE NO. 205 ON READER SERVICE CARD
APL
Casual or Serious: Which APL System to Choose
T have used two APL systems for memory management. The IBM
X the IBM PC: the recently released package will print the complete APL
IBM package (which I own) and the character set only on an IBM graph-
STSC version. Based upon reviews ics printer. I have an Epson FX-80,
published in the past several months which almost does the trick, but a
and based upon my own experience, few characters don't print correctly.
I recommend the IBM package for Perhaps some clever programmers
the casual APL user and STSC's APL will come up with special APL print-
for the enthusiast. er software in the near future.
Although the STSC APL system My second complaint with the
costs three times more than IBM's IBM package is its stinginess with
$195, the IBM system requires the memory. My PC has 512K of mem-
8087 Math Coprocessor. This addi- ory, but the APL active workspace is
tional purchase will effectively raise still limited to 64K. This inadequate
the price of the IBM package by memory management restricts pro-
$200 to $250. grammers with even moderate
IBM's APL uses a color graphics amounts of data. Remaining memory
adapter so special APL symbols can forms an "elastic" workspace that
be displayed with no special hard- can hold functions and data not im-
ware. It can use the monochrome mediately required. APL automati-
adapter as well, but will not cor- cally (and slowly) swaps objects be-
rectly display all of the APL sym- tween the 64K active workspace
bols. The STSC system works with where all calculations take place and
either display adapter, but requires a this elastic workspace reservoir, but
special APL character ROM. This with a noticeable time penalty,
makes for a more readable display The STSC package suffers from
using APL, but the screen may look neither lack of printer support nor
strange with other software, since APL inadequate memory,
symbols will be substituted for The lower-priced IBM APL
certain characters in the original package is clearly intended for a cas-
(replaced) IBM ROM. ual user, such as an engineer or busi-
Several auxiliary software mod- ness person who needs inexpensive
ules extend the IBM APL system to access to an APL system with moder-
allow file handling, display manage- ate capability. A PC dedicated to
ment, music generation, and full- more serious engineering, business,
screen function editing. STSC has a or educational applications would be
few extension packages as well. better equipped with the STSC's APL
IBM's APL is especially lacking package than with IBM's,
in two areas: printer support and —Pardner Wynn
Lines 4 and 5 print out strings
indicating the current generation
number and population count.
Format and concatenate operators
are used to convert the numeric
GENERATION and POPULATION
variables into strings and to add
them to the end of the message
strings. These arrays are assigned to
the quad function for printing.
SHOWCOLONY's last two lines
(6 and 7) print two blank lines by
assigning an empty string to quad.
The INITBORDER
Function
INITBORDER creates a matrix
filled with Is except for a ring of Os
around the outer border. This ma¬
trix is used by SHOWCOLONY and
LIFEGAME. Line 1 of INITBOR¬
DER (figure 11) creates a square ma¬
trix with SIZE rows and columns
called BORDERMASK (figure 10).
The matrix is initialized to all Is.
SIZE is a global variable that holds
the size of the COLONY matrix.
Lines 2 and 3 put Os in the first
and last rows and columns of BOR¬
DERMASK. BORDERMASK[l SIZE
; ] in line 2 refers to every element
in rows 1 and SIZE—when no col¬
umn numbers are specified every
column is assumed. So line 2 puts Os
in rows 1 and SIZE. Line 3 puts Os
in columns 1 and SIZE. BORDER-
MASK is thus a matrix the same
size as the game board fitted with Is
except for a ring of Os along the out¬
er edge.
SHOWCOLONY uses BORDER-
MASK to help print out the border
area of the COLONY game board
with a special character. Another
function, LIFEGAME, uses BOR¬
DERMASK to sterilize the outer
border of the COLONY game board
by ANDing these two variables.
This prevents organisms from get¬
ting to the edge of the game board.
The LIFEGAME Function
The LIFEGAME function controls
I the overall Life simulation (see fig¬
ure 12). Line 1 uses the function
INITBORDER to create the BOR¬
DERMASK variable used in SHOW-
COLONY and later in LIFEGAME.
In line 2, RANDOM is used to
create the COLONY matrix and to
(randomly) initialize it to the first
generation of organisms. Line 3 uses
BORDERMASK to sterilize the
outer border of COLONY.
The total number of organisms
in this first generation is tallied in
line 4. The expression COLONY
unravels COLONY from matrix
form into one long row of Is and Os.
The expression +/,COLONY
(called a row reduction) adds the Is
and Os in the unraveled COL¬
ONY row. This organism count is
put into POPULATION.
The current colony GENER¬
ATION number is initialized to 1
in line 5. Line 6 is an APL branch
statement. It is read: 'This line is
labeled 'LOOP'. Go to the line
labeled 'END' if POPULATION =
0." That is, when all organisms are
dead, the program will branch to the
statement labeled END (line 13).
SHOWCOLONY displays the
current COLONY in line 7, then
computes the next generation of the
colony in line 8 using the NEXT-
GEN function. GENERATION is
incremented to indicate the current
generation number in line 9.
146
PC Tech Journal
Like lines 3 and 4, lines 10 and
11 of LIFEGAME sterilize the col¬
ony border before counting the
number of organisms present. Line
12 is a jump to line 6 (labeled
LOOP), which is done to repeat the
display and update functions in
lines 7 through 11 until the organ¬
isms are dead. A brief termination
message is printed in line 13, fol¬
lowed by another one in line 14.
The Life Program
Before running the Life program,
the user should select the desired
size of the COLONY game board
and assign it to SIZE. A value of 15
will create a 15-by-15 matrix for
COLONY. The DENSITY variable
should be set to any number from 1
to 100 (15 to 30 for best results).
Typing LIFEGAME will start the
simulation. Figure 13 shows LIFE-
GAME being run on IBM's APL.
The colony of organisms alter¬
nately expands and contracts in fas¬
cinating patterns. The program
prints successive generations on the
computer display until no organ¬
isms remain. In some cases the col¬
ony never dies out, so the program
continues to execute until the user
presses the APL INTERRUPT key
(the Escape key in IBM's APL).
Although the random patterns
produced by the original RANDOM
function are interesting, the user
may want to define his own pat¬
terns. To do this, modify RAN¬
DOM to create COLONY with any
size and any pattern of Is and Os.
The sample session of figure 13 was
run with a modified version of the
RANDOM function, which assigns
COLONY a pattern of 18 organisms
called the Cheshire Cat (see figure
14). This pattern fades away in gen¬
erations 2 through 6, leaving a smile
in generation 7 and a paw print in
generation 8.
Using APL
Three generalizations about the Life
program point out APL's usefulness
in a wide variety of programming
applications. First, Life's simple data
structures allow use of APL's power¬
ful array manipulation facilities.
Few languages support data struc¬
tures as well as APL. Second, an
APL expression or operation applied
to matrix data automatically applies
to the entire matrix—whatever its
size. Finally, by dividing the pro¬
gram into several smaller modules
the user can concentrate on one pro¬
gramming task at a time. APL sup¬
ports this modularity with flexible
function declarations and use of
temporary variables.
THE MOST EXTENSIVE
LIBRARIES ANYWHERE
for the IBM PC, XT
THE GREENLEAF FUNCTIONS
Total Access to the PC
PROFESSIONAL PROGRAMMER’S TOOLS, With Comprehensive
Manual, Full Source, Examples, Demos, (Sc Newsletter.
Supports All Major Compilers, All Memory Models, DOS 1.1, 2.0, 2.1
IBM ♦ Honeywell ♦ Control Data ♦ GE ♦ Lotus . . .
Hospitals • Universities * Government ♦ Aerospace
Why not for your application?
Save Months of Painstaking Research
GENERAL LIBRARY - What You Would Write If You Had The Time
♦ 200 functions ♦ DOS 2.0 ♦ Video ♦ String ♦ Printer ♦ Async ♦ Color ♦ Time (Sc Date
♦ Function Keys ♦ Diagnostic * More
#L2 for Lattice or Microsoft, or #C2 for Cl C86
#D1 for DeSmet C.
$17500
$ 9900
ASYNC COMM LIBRARY - Interrupt Driven Communications Capability
♦ Polled Mode ♦ Interrupt Mode ♦ Ring Bufferred ♦ Modem Control ♦ CRC
♦ XMODEM Protocol Pieces ♦ More
#L3 for Lattice or Microsoft, of #C2 for Cl C86
#D3 for DeSmet C ....
$16000
$ 8500
#CC1 Computer Innovations C86 Compiler V2.1
#CC2 Lattice C Compiler V2.1.
$34900
$39500
Add $ 7.00 Shipping Per Item
Specif/ Compiler and
Our Part Number
Order Direct or Ask Your Dealer
MasterCard or VISA Accepted
GREENLEAF SOFTWARE, INC.
2101 HICKORY DRIVE • CARROLLTON, TEXAS 75006
September i984
CIRCLE NO. 105 ON READER SERVICE CARD
147
Mite is a trademark of Mycroft, Inc.
NCVATCN
TALKS BUSINESS
Introducing the LSI Cat Communication
System™with the Hayes compatible 300/1200
SA77ar^Ca^PfuS™modem.
iii^K'ATK^
NOVATION
ArtOMN«NKATK>SS'l-Sn-
)VATION
^ aiMXti XTCXTR tv: SYSTEM
No more wondering what goes with
what. Here’s the best modem and the best
software for your specific computer—all in
one package.
Will your computer take an internal
modem? Or do you prefer a stand-alone?
And which operating system do you need—
CP/M, CP/M-86, PC-DOS, MS-DOS?
The Cat System includes them all.
And no compromises.
The quality starts with our new Smart-
Cat PLUS modem. There is absolutely
nothing else to equal it on the market. You
get faster more accurate dialing. Automatic
self-testing of the full communications cir¬
cuit. State-of-the-art advanced LSI circuitry.
And more. It is simply the best there is.
CIRCLE NO. 103 ON READER SERVICE CARD
The software is MITE'^'^ —menu-driven,
easy-to-use, remarkably powerful. It gives you
error-free data communications and instant
access to Dow Jones, CompuServe and the like.
With the Cat System everything you get
is the best of everything—that includes the
best price. Suggested retail: $499.
See your dealer. He has them right now.
Seven models covering the IBM-PCs and
their look-alikes, DEC Rainbow, KAYPRO and
their operating systems. More models to come.
Novation, Inc., Box 2875
20409 Prairie Street, Chatsworth, CA 91311
(800) 423-5419 • In California: (818) 996-5060
NOVATION
novation I
NOVWCN
t :Ar( X AIMl NR 'AI KNiSIB
Discover
Solutions
With Vision
Dealers are finding Pacific Datanets
Vision ' hard disk subsystems are
today's personal computer users'
choice for mass storage subsystems.
The Vision Series is more than
illusionary— read on!
Capacit}’ A variety of subsystems —
12,10Mb. 19/17Mb. 26/21 Mb,
40:32Mb. 50/43Mb. 70/62Mb.
105 92Mb. and 140/125Mb.
Spftnare Menu-driven software
makes installation simple with the
IBM PC. XT. or IBM compatible.
Complete Sub-System Vision Series
are complete. Subsystems include
a 5 ^ 4 " Winchester, our controller, host
adapter, heavy duty international
power supply, software and cables.
Fast Tape Backup . 5J4I' " tape
streamer backs up at acansistent&Mb
per minute, using standard 90 Jps,
V 4 " tapes.'
Error Correction Subsystems
provide 8 bit error correction.
Reliability Stringent quality control
assures reliable operation.
Price Prices start atS2.195 for the
hard disk subsystem, and $1,995 for
the streaming tape backup.
Dealer Inquiries Invited
PACIFIC DATA NET. LTD.
4701 Patrick Henry Drive, Bldg. 9
Santa Clara, CA 95054
(408) 980-0693 Telex: 759341
" VISION is a trademark of Pacific Datanet. Ltd.
*IBM is a trademark of International Business Machines Corp.
CIRCLE NO 169 ON READER SERVICE CARD
PaciliG Dabaneti
ALL AT OSCE!
MID NEVER A “LOCKED OUT” USER!
Apex Industries Customer Data
Customer Id: Acme
Customer Name: Acme Industries
Credit Rating: AA Credit Limit: 25000
Current Balance: 12500
30 Day Balance: 4000
60 Day Balance: 1500
90 Day Balance: 0
Billing:
Address: 2701 South Bayshore Drive
City: Miami State: FL Zip: 33133
Shipping:
. flpf®'*’**’
Address: 913 Majorca Avenue
City: Coral Gables State: FL Zip: 33134
Phone: 305-856-7503 Contact: Gerald Green
r
S<fed»»0
et»
iin*!*
on
Dataplex is the only application development takes to actually write it to the file! The updated
database which automatically Qw/es you true record is then immediately available. The
multi-user capabilities. Other systems can lock number of users who can access, and change,
you out of records or entire files for the full records at the same time is limited only by
time they are being used by someone else. the number of terminals on your system or
Dataplex, however, locks only the data being network. Call or write today for all the details
changed, and only during the micro-seconds it on Dataplex... the true multi-user database.
8525 SW129 Terrace, Miami, PL 33156 (305) 238-0012
Telex 469021 DATA ACCESS Cl
CIRCLE NO. 146 ON READER SERVICE CARD
Compatible with CP/M-80, MSDOS networks, MP/M-86, Novell Sharenet, PC-Net, DMS Hi-net, TurboDOS multi-user
N-Star, Televideo MmmOST, Action DPC/OS. IBM PC w/Corvus, OMNINET, 3Com EtherSeries and Micromation 1
MSDOS Is a trademark ot Microsoft. CP/M and MP/M are trademarks of Digital Research.
Molecular
M/NET.
Gregg L. Pettit
Macros that give the programmer
access to the power
of assembly language and the
convenience of structured programming
A ssembly language is a powerful
and useful tool; it can make a
computer do anything within that
computer's capability. The language
does have drawbacks, however. For
example, many instructions have to
be written to accomplish what
might be considered a single func¬
tion. These drawbacks led to the de¬
velopment of more convenient
higher-level languages in which a
single statement can represent many
assembly language instructions.
Some languages were developed
for specific purposes, as COBOL was
for business data processing and
Gregg L. Pettit is a data processing
programmer writing general-purpose software
for Harry and David Company, a subsidiary
of Bear Creek Corporation, located in
Medford, Oregon.
FORTRAN for statistical/engineer¬
ing purposes. Other languages, such
as PL/1, were developed for general
purposes. In the hands of expert
programmers these languages pro¬
vide excellent solutions to a wide
class of problems. Fiowever, for de¬
veloping utilities, general-purpose
programs, interactive graphic games,
etc., assembly language is probably
still the best choice because of its
access to the full range of the com¬
puter's capabilities.
Another reason for choosing
one of the "higher-level circus ani¬
mals" rather than assembly lan¬
guage is that most higher-level lan¬
guages provide the logical structures
needed for structured programming,
while assembly languages tradition¬
ally do not. One of the ways this ob¬
jection can be overcome is through
the use of a well-designed set of
macros that provides the kind of
control structures that are found in
higher-level languages.
In our data processing shop we
use a set of macros that provides
structured programming capability
for the IBM/370 assembly language.
Having found these macros advanta¬
geous, I set out to implement the IF
and the DO sets for use with the PC
Macro Assembler.
(Note: The names of the macros
in the IF macro set for the PC are
suffixed with an M because the PC
Macro Assembler reserves the IF,
ELSE, and ENDIF as conditional
pseudo-ops. The conditional pseudo¬
op IF gives the PC Macro Assembler
the capability to determine whether
September i984
151
Macros
Figure JL: Example of Flag Setting and Testing Instructions
CMP CL,0
;Compare the CL register to 0
JE LABI
;Te$t Flag Register
;If the CL register was not
.
;equal to 0 execution continues
Assembly
instructions
for CL not
equal to 0
;with these instructions.
JMP LAB2
;Jump unconditionally to LAB2
,
;Execution continues here if the
Assembly
instructions
for CL equal
to 0
;CL register was equal to 0.
LAB2:
source code contained within the
pseudo-op and its ENDIF is to be as¬
sembled based on the truth value of
some expression.)
Flag Setting and Testing
The architecture of computers today
provides two classes of instructions
by which the logic of an assembly
language program is accomplished.
Instructions in the first class set
some indicator that signals the re¬
sult of its execution. Those in the
second class test the indicator that
was set by the first class. Based on
the result of that test, execution ei¬
ther continues with the next se¬
quential instruction or is transferred
to some other instruction.
The indicator provided by the
8088 CPU is called the flags regis¬
ter. This register contains 12 flags or
bits, some of which are set on or off
by the result of actions by the first
class of instructions. Some examples
of these flag-setting instructions are
the compare instruction (CMP), an
arithmetical instruction such as sub¬
tract (SUB), etc.
The 8088 CPU also provides the
second class of instructions, such as
Jump Equal (JE), Jump Not Equal
(JNE), and Jump If Above or Equal
(JAE), which tests the current status
of the flags register and transfers ex¬
ecution to another instruction—that
is, execution jumps to another in¬
struction if the condition is true.
The logic of an assembly language
program is accomplished through a
combination of flag-setting and flag¬
testing instructions (see figure 1).
Advantages of Macros
One of the most important advan¬
tages gained in using the macros for
structured programming is that the
programmer need not explicitly
code the jump statements and their
destination labels,- the PC macros for
structured programming provide
this control implicitly. For instance,
each macro set contains a header
macro (IFM or DO) that generates a
jump on the condition desired to
the instructions to be executed for
that condition. If the necessary con¬
dition is not met by the flags regis¬
ter at the time the jump on con¬
dition is executed, the following un¬
conditional JMP (also generated by
the header macro) jumps to the
Figure Example of Logic
Provided by a DO WHILE and
ENDDO Combination
DO WHILE
,CMP,DL,
+7DW1:
+
CMP
CL,0
+
JE
7DL1
+
JMP
70E1
+7DL1:
.
Assembler
Instructions
for
CL equal
zero
•
ENDDO
+
JMP
70W1
+7DE1:
trailer macro (ELSM, ENDIFM, or
ENDDO). See figure 2 for the kind
of logic provided by a DO WFFILE,
ENDDO combination. The state¬
ments in figure 2 that begin with a
" + were generated by the Macro
Assembler from the DO WHILE,
ENDDO macros. For further ex¬
amples of the logic generated by
IFM and DO macro sets, see table 1.
Coding time can be shortened
by removing the time-consuming
chore of inventing meaningful
labels or keeping track of the func¬
tion of non-meaningful labels. An¬
other way to reduce coding time is
by removing the possibility of mis¬
spelling labels or branching to the
wrong label. For those who like to
put their routines into flow charts,
further gains in efficiency can be
made by using decision paths that
correspond to the structured pro¬
gramming macros. These macros
can then be coded to follow the
flow chart and give the logical
structure on which to hang the de¬
tails of the code later. Following this
procedure will increase the likeli¬
hood of getting the logic of the rou¬
tine correct from the start and thus
will decrease debugging time.
152
PC Tech Journal
Do it yourself!
1 H’l iVm
-- "■
■■ —
.m-h ^mmmm mm .
anitzi.
When developing effective applications
for the PC is a matter you want to take
into your own hands, first get your
hands on the APL^PLUS®/PC System
from STSC. This unique application de¬
velopment tool gives you the power to
deliver totally integrated, highly efficient
solutions to problems that conventional
software simply can’t handle.
The APL^ PLUS/PC System is the
most advanced application development
system available today. And it includes
enhancements for the professional,
hobbyist, or novice programmer.
—^Advanced saeen management
facility with windowing and scrolling
features.
—Complete on-line HELP facility for
novice users.
—Powerful communication capability
for moving data between computers.
—Comprehensive color graphics
capability, and much more.
Because of the efficiency of the
APL^PLUS/PC System, you can devel¬
op programs 4 to 10 times faster than
with conventional languages like BASIC
or FORTRAN. And the system can be
integrated with other applications
you’ve already bought, or used to link
those that aren’t speaking to each other.
It doesn’t demand that you abandon
those skills you’ve learned or the soft¬
ware you’ve come to love. But it does
enhance your programming power, so
you can do what you do even better!
Get the advanced capabilities of the
APL^PLUS/PC System foronly $595.00,
a valuable investment when you can have
things done your own special way. To
order the APL^PLUS/PC System see
your local dealer or contact STSC, Inc.,
(800) 592-0050, 2115 East Jefferson
Street, Rockville, Maryland 20852,
(301) 984-5030 (Call collect).
CIRCLE NO. 208 ON READER SERVICE CARD
STSC
A Contel Company
The APL^PLUS/PC System runs on the IBM PC with 192
KB of RAM, as well as on a number of compatible ma¬
chines.
APL^PLUS is a service mark and trademark of STSC, Inc,
registered in the United States Patent and Trademark Office
and in certain other countries.
NEW FEATURES
(Free update for our early customers!)
• Edit & Load multiple memory
resident files.
• Complete 8087 assembler
mnemonics.
• High level 8087 support.
Full range transcendentals
(tan, sin, cos, arctan,
logs and exponentials)
Data type conversion and
I/O formatting.
• High level interrupt support.
Execute Forth words from with¬
in machine code primitives.
• 80186 Assembler extensions for
Tandy 2000, etc.
• Video/Graphics interface for
Data General Desktop Model 10
FORTH
Fully Optimized & Tested for:
IBM-PC IBM-XT IBM-JR
COMPAQ EAGLE-PC-2
TANDY 2000 CORONA
LEADING EDGE
(Identical version runs on almost all
MSDOS compatibles!)
Graphics & Text
(including windowed scrolling)
• Music - foreground and
background
Includes multi-tasking example
• Includes Forth-79 and Forth-83
File and/or Screen interfaces
Segment Management Support
Full megabyte - programs or
data
• Complete Assembler
(interactive, easy to use & learn)
• Compare
BYTE Sieve Benchmark jan83
HS/FORTH 47 sec BASIC 2000 sec
w/AUTO-OPT 9 sec Assembler 5 sec
other Forths (mostly 64k) 70-140 sec
FASTEST FORTH SYSTEM
AVAILABLE.
TWICE AS FAST AS OTHER
FULL MEGABYTE FORTHS!
(TEN TIMES FASTER WHEN USING AUTO-OPT!)
HS/FORTH, complete system only: $250.
— Visa Mastercard
Add $10. shipping and handling
HARVARD
SOFTWORKS
PO BOX 339
HARVARD, MA 01451
(617) 456-3021
CIRCLE NO. 222 ON READER SERVICE CARD
Macros
Figure sj: An Illustration of the Readability of Assembly
Language Code Using the Macros for Structured Programming
Without Using Macros
CMP DL,0
JNE LBLNEl
CMP CL,0
JNE LBLNE2
code A
JMP FINIEQ
code B
JMP FINIEQ
code C
LBLNE2:
LBLNEl:
FINIEQ:
A programmer must be able to
determine the functions of the vari¬
ous parts of a routine—not to men¬
tion its overall function—if he is to
be able to debug that routine or
modify it later. Structured program¬
ming rnacros provide an advantage
in this area as well by making the
relationships between the various
sections of code more obvious.
Furthermore, since the PC's ma¬
cro assembly language allows in¬
structions to begin anywhere on a
line, by indenting nested IFMs and
DOs the programmer can get the
same readability as in a higher-level
language such as Pascal. A nested
set of IFMs and ENDIFMs is much
easier to follow than many CMPs
that have explicit JMPs to labels
and the corresponding labels. Figure
3 illustrates the readability of as¬
sembly code using the macros for
structured programming.
The increased readability can
be advantageous to programmers
who are accustomed to using
Using Macros
IFM CMP,DL,E,0
IFM CMP,CL,E,0
code A
ELSEM
code B
ENDIFM
ELSEM
code C
ENDIFM
Figure Two Open Strings of
IFMs in a Set of Nested IFMs
IFM E
1 NE
IFM B
ENDIFM (
IFM E
IFM NE
*)
1
ENDIFM
(**)
IFM E
ENDIFM
(***)
(3) j
ENDIFM
(2)
1
ENDIFM
ENDIFM
(1)
higher-level languages, such as
PL/1, Pascal, etc., because with the
structured programming macros,
programs will look more like those
created with a higher-level lan¬
guage. More importantly, with the
macros it is easier to structure as¬
sembly language programs in the
154
PC Tech Journal
Fast and resfless.
The new Delta-15 printer kicks out AnyCalc,
easy as 1,2,3!
In a 9 to 5 world full of changing spread¬
sheet data, you need a business printer that moves
fast. A printer that constantly fires out printed infor¬
mation. A printer called Delta- 15 .
Delta has the ability to print multi-copy
spreadsheets at an intense 160 cps. Its throughput
never rests. In fact, it never even wavers in speed.
That means that Delta constantly fits the most work
into every single second.
Delta comes in a 10 " or 15 V2" carriage size.
It offers you the flexibility of standard 8K parallel and
serial interface. And has the ability to underline,
accept macro instruction, and print characters that
range from full graphics to everyday printing to sci¬
entific notations.
Plus, as always, you get our unique 180 day
warranty (90 days on print head).
So for everyone who needs their spreadsheet
data “yesterday,” this is as close as you can come!
The new fast and restless Delta -15 business printer
from Star.
THE POWER BEHIND THE PRINTED WORD.
200 Park Avenue, New York, NY 10166
Dallas. TX (214) 456-0052 • Boston, MA (617) 329-8560
Chicago. IL (312) 773-3717 • Irvine. CA (714) 586-8850
Macros
1. The
IFM Set:
2. The
DO Set;
Format
Example
Format
Example
CMP DL.BYTE PTR
DO INF
00 INF
IFH PI
IFM E
+7DW1:
+70WI:
+
JCP13 7IF1
+ JE ?IF1
+
JMP ?IS1
+ JMP ?IS1
code A
code A
+7IF1
+7IF1:
OOEXIT PI
OOEXIT E
code A
code A
+ -
JC‘P13 7DX10
+
JNE 70X10
+
JMP 70E1
JMP 70E1
ELSEM
ELSEM
+7DX10;
+70X10:
+
JMP ?IE1
+ JMP ?I£1
+7IS1:
+7IS1:
code B
code B
code B
code 8
OOEXIT PI
OOEXIT NE
+
J["PX3 70X11
+
JE 70X11
ENDIFM
ENDIFM
+
JMP 70E1
+
JMP 70E1
+7IE1:
+7IE1:
+0X11:
+DX11:
***********************
code C
code C
IFM P1,P2,P3,
,P4 IFM CMP,DL,E,0
ENDDO
ENDDO
+
PI P2,P4
+ CMP DL»0
+
JMP ?0W1
JMP 70W1
+
JCP33 ?IF1
+ JE 7IF1
+70E1:
+7DE1:
+
JMP 7IS1
+ JMP nsi
+7IF1
+7IF1:
***********************
00 WHILE,PI.P2,P3,P4
00 WHILE,CMP,OL.E.O
***********************
+7DW1:
+7DW1:
+
PI P2,P4
+
CMP DL,0
IFM P1,P2,P3.P4,0R,P5,P6.P7,P8 IFM CMP.OL.E.O.OR.CMP.CL.E.O
+
JCP33 70L1
+
JE 70L1
+
PI P2,P4
+ CMP DL,0
JMP ?DE1
+
JMP 70E1
+
JCP33 7IF1
+ JE ?IF1
+7DL1:
+70L1:
+
P5 P6,P8
+ CMP CL,0
+
JCP73 7IF1
+ JE YIFl
code A
code A
+
JMP 7IS1
+ JMP ?ISl
+7IF1;
+7IF1:
OOEXIT P1,P2,P3,P4
OOEXIT CMP.CL.E.O
+
PI P2,P4
+
CMP CL,0
+
JC’P33 70X20:
+
JNE 7DX20
**********************
+
JMP 7DEI
+
JMP 7DE1
same way as those using a higher-
level language are structured.
Drawbacks of Macros
Although these structured program¬
ming macros provide significant ad¬
vantages, they do have some disad¬
vantages. First and foremost, when¬
ever macros are used the compile
time is significantly increased. For
instance, one small test program of
150 statements took 1 minute to
compile. The same program written
with structured programming ma¬
cros (one INITDOIF, eight IFMs
with corresponding ENDIFMs, one
ELSEM, one DO WHILE, and one
DO UNTIL) took 2 minutes and 45
seconds. For some experienced pro¬
grammers this could be a deciding
factor against using these macros,
because the time gained in using
them may be lost in waiting for
compilations to complete.
One way to overcome this dis¬
advantage is to keep programs as
modular as possible by building a
module for each logical function re¬
quired by the program. Then when
changes are necessary only the mod¬
ules affected need to be recompiled,
and all the modules can be relinked
to form the revised program.
Another disadvantage of struc¬
tured programming macros is that
they will increase the size of the ob¬
ject and load modules. The pro¬
grammer functioning without struc¬
tured programming macros can
choose more efficiently how to
jump (short or long) and when to do
it. Long jumps (JMP) generate 3
bytes of code and short jumps (JE,
JNE, etc.) generate 2 bytes.
With the structured program¬
ming macros that accompany this
article, the jumps to the ELSEM,
ENDIFM, or ENDDO are always
long, so it will not matter how
many lines of code are between the
Z n weighing the advan¬
tages and disadvantages
of using structured pro¬
gramming macros, it seems
the advantages outweigh
the disadvantages.
header macro (IFM or DO) and its
matching ending macro (ELSEM,
ENDIFM, or ENDDO). The long
JMP generated by IFM, ELSEM, or
DO may be avoided if the program¬
mer generates that jump.
156
PC Tech Journal
+?0X20;
code
ENDOO
JMP
?OWl
ENOOO
JMP
?DWl
**********************
***********************
+?0W1:
DO UNTIL,PI,P2,P3,P4
PI PZ,P4
JC‘P33 ?Oll
JMP ?OEl
DO UNTIL,CMP,OL,E,0
CMP DL,0
JNE ?OLl
JMP ?D£1
DO ER0M,P1,P2,P3
MOV P1,P2
SUB P1,P3
J6E ?OLl
JMP ?DE1
***********************
00 FROM,PI
00 FR0M,DX
+?DWl:
+?DWl:
+
DEC PI
+
DEC OX
+
JGE ?0LI
+
JGE ?0L1
+
JMP ?DE1
+
JMP 7DE1
+?DL1;
code A
+?DL1;
code A
ENOOO
ENOOO
JMP ’OWl
JMP ?DW1
+7DE1:
+7DE1:
ENDDO
JMP
DO FROM,DX,10,2
MOV DX,10
SUB DX,2
J6E ?0L1
JMP ?OEl
ENOOO
JMP ?0W1
+70E1.
+?DE1:
***********************
DO FR0M,P1,P2,P3.P4
00 FROM,DX,10,:
+
+7DW1:
MOV
P1,P2
+7DW1;
MOV
DX,10
SUB
Pl,P3
+
SUB
OX,2
*
CMP
P1,P4
+
CMP
OX,6
+
JGE
7DL1
*
JGE
70L1
+
+7DL1;
JMP
7DE1
+
+70L1;
JMP
70EI
***********************
00 FROM,
,Pl,P2
00 FROM,
,0X.10
+
MOV
P1,P2
MOV
DX,10
+7DWI:
+70W1:
+
DEC
PI
DEC
DX
+
JGE
70L1
+
JGE
?0LI
+
JMP
70E1
+
JMP
70E1
+70L1:
+7DL1;
code A
ENDOO
JMP ?DW1
code A
ENODO
JMP ?0W1
+?DE1:
+?0E1:
**********************
code A
Note; Up to three separate- compare type statements may be connected
by ORs or AMDs. Under the current implementation ORs and ANOs may not
be mixed.
Recommendations
The advantages of using structured
programming macros seem to out¬
weigh the disadvantages. The disad¬
vantages discussed here might be
important to an experienced assem¬
bly language programmer who, in
any case, has probably developed
techniques with which he or she is
comfortable. For the beginner, how¬
ever, the advantages can significant¬
ly increase the utility of the PC's
macro assembly language.
In its current state, the IBM PC
macro assembly language is not
very friendly to the implementation
of structured programming macros.
The IBM 370 assembly language
has indexed global variables that
can be used to stack the references
to labels to which the header ma¬
cros must build jumps. When the
trailer macros are encountered in
the code these references can be un¬
stacked to build the actual labels
referenced in the header macro.
The PC's macro assembly lan¬
guage provides two pseudo-ops that,
although not as convenient as a
stack, nonetheless make it possible
to provide an elegant and efficient
implementation of the structured
programming macros. An inelegant
solution would be one in which the
programmer must provide, as an ar¬
gument to each header macro (IFM
or DO), a unique identifier that
could be used by the macro to cus¬
tomize the labels it needs to gener¬
ate. The two pseudo-ops are the
equal sign ( = ) and the IFDEF.
The equal-sign pseudo-op allows
the programmer to increment or
decrement counters, which are then
known globally—that is, to all the
macros defined in the source code.
This facility is used by the struc¬
tured programming macros to cus¬
tomize the labels referenced by the
header macros (IFM or DO) by ap¬
pending a number to each label. In
order to initialize the counters the
INITDOIF macro must be included
in the source code prior to the first
use of any IFM or DO macros. Note
that if the INITDOIF macro is not
used before any IFM or DO macros,
many error messages will be dis¬
played saying that various labels
have not been defined.
Because of the global counters
referred to above, no more than four
strings of DO or IFM macros may
be open at any one time. This is be¬
cause each time an open string is
created a counter for that string
September i984
157
Macros
must be saved and a new counter
begun. Currently there are only
eight counters implemented, four
for the IFM macro and four for the
DO macro. See figure 4 for an illus¬
tration of two open strings of IFMs
in a set of nested IFMs.
(In figure 4, the single asterisk
indicates the closing ENDIFM of
the last IFM in the first open string
of IFMs. The IFM following that
ENDIFM is assigned to be the sec¬
ond counter and begins the second
string of open IFMs. The double as¬
terisk indicates the closing ENDIFM
of the last IFM in the second string
of open IFMs. Following that, the
next IFM is assigned to be the third
counter, and the third string of
open IFMs is closed immediately by
the following ENDIFM, which is
indicated by the triple asterisk. The
numbers in parentheses indicate the
closing of each of their respective
strings of open IFMs.)
Fortunately, the limitation of
four open strings of DO or IFM ma¬
cros is the only restriction on nest¬
ing such macros; they can be nested
in any combination desired. In fact,
these two sets of. structured pro¬
gramming macros for the IBM PC
contain an enhancement not pro¬
vided by the same macros for the
IBM 370. If a PC IFM macro is
nested within a PC DO macro and a
PC DOEXIT macro is executed
within the range of the IFM macro
(that is, before the closing ENDIFM
macro), the DOEXIT macro will
jump to the proper ENDDO macro.
In the IBM 370 assembly language,
on the other hand, the structured
programming macros will generate
undefined symbols if DOEXIT ma¬
cros are executed within IF macros.
The second pseudo-op that is
necessary for an elegant solution to
implementing structured program¬
ming macros on the IBM PC is the
IFDEF or its complement, IFNDEF.
These pseudo-ops are used to deter¬
mine the next code produced by the
macro assembler based on whether
or not a symbol has been defined.
Whenever an IFM macro is used, a
JMP ?ISd: (where d stands for some
number) is produced. This jump
will be to either an ELSEM or an
ENDIFM macro, depending on
whether a matching ELSEM macro
appears in the code for the header
IFM macro. The ELSEM macro gen¬
erates a JMP ?IEd: to the ENDIFM
macro and a ?ISd: label to head the
code for the else condition.
The ENDIFM macro deter¬
mines whether to generate a ?ISd: or
a ?IEd: label. Under the current im¬
plementation of the structured pro¬
gramming macros, the ENDIFM
tests to see if the ?ISd; label has
been defined. If it has, the ENDIFM
generates a ?IEd: label; otherwise a
?ISd: label is generated. Surprisingly,
PROGRAMMER’S
GUIDE TO
EDITED BY SOL LIBES
H ere’s an important collection of
CP/M insights that you’ll never
find in any CP/M manual. CP/M
is the most popular microcomputer
DOS in use today, and this widespread
use has generated many innovative
techniques and enhancements of
CP/M. Programmers Guide to CP/M
tells you what these enhancements are
and how to put them to use, how to get
around apparent limitations of a
CP/M system and why CP/M is far
more versatile than you might have
imagined. Every article in Program¬
mers Guide to CP/M originally ap¬
peared in MICROSYSTEMS between
January 1980 and February 1982. Ex¬
cept for this collection, these articles
are now unavailable! Programmer's
Guide to CP/M gives you an in-depth
look at CP/M from the viewpoint of
the programmer—the individual who
creates the software that interfaces di¬
rectly with CP/M, or who is installing
CP/M on systems for which configura¬
tions do not already exist.
Contents include “An Introduction
to CP/M,’’ “The CP/M Connection,”
“CP/M Software Reviews,” “CP/M Util¬
ities & Enhancement,” "CP/M 86” and
“CP/M Software Directories." 200
pages, $12.95.
r
MiemsysteiTis
Send me .
MICROSYSTEMS PRESS
Dept. NN4H, 39 East Hanover Avenue
Morris Plains, NJ 07950
_copies of Programmer’s Guide to CP/M at $12.95 each, plus $2 for
postage and handling. # 14C Also available at your local bookstore or computer store.
□ Outside USA add $3.00 per order.
□ PAYMENT ENCLOSED $:_
sales tax.
□ CHARGE MY: □ American Express
n
_CA, NJ and NY State residents add applicable
□ MasterCard □ Visa
L
Card No.
.Signnturp
Exp. Date
Print Nnmp
AHrlrp<;<:
Apt.
'f
Citv
State _Zio
For faster service, CALL TOLL FREE; 800-631 -8112
(In NJ only, call 201-540-0445)
J
158
PC Tech Journal
CIRCLE NO. 188 ON READER SERVICE CA]
9^3
: ■: When you v'tsjr your dealer ai; j
compare ttK Princeton iBM-CMpat-
ibleH^i2^ide'l3¥=^ide-withthe !BW
color morrilBr. your eyes will-see the
difference.
;': The HX-12 gives you highepresolu-
tion and finer dot pitch (3lmm) than
the IBIVI5153'smedium resolution
,(;43mm) for a cleaner, sharper iniage.
Compare our full range of colors
and our crisp whites without red
bfeed. .You'll also see a difference in
our.non-giare screen—a feature your
eyes will reailly appreciate in a long
ivyork session, ;: . /
The !-rinceton HX-12 comes win ■ ,:i
cable that plugs directly into the iEiVi
pc, ready to burst forth into 16
superb colors. All at a suggested retail
price ($695) that's a pleasure for sore
eyes and overworked budgets.
Apple lie users: call us to learn
how you, too, can now enjoy the vis¬
ible superiority of the Princeton
HX-12.
Ask your local dealer for a dernon-
stration and let your eyes decide. Or
call us at 800-221 -1490 for more infor¬
mation and the name of your nearest
If you're readyito hid
color, graddatfet&^PrtTOi^i^
..:' ■: : t yxicy-7-:^r-:
Now<avaliabieatc6i^puie?l^d3tltfeand local
indepeiiaentcompBWf dealers.; ■ ■
Nationwide service provided bv Bell anil Howell
SfiiVlce Company and mai sorpusSerylcecompany:
Princeton
Graphic systems
an Intelligent Sysleiris Company
.iiOi- (State ftoad Princeton New Jersey 08540
1609; 683-1660 :TLX:6857009 PCS Rrin.:
.80D-22'r-1490 ' : ' ; '.
.'T X ..- .
OURS: .•3l’mrT>el6t pltch.-80 column t^t.> ^! ■ ' X : THEIRS:^ .43-nhm-ddt pitch.-’SCi
column
THE PRINCETON 2
HIGH RESOLUTION RGB COLOR WIONITOR
f0i^ the image
your ;eyes: desehre
Z500
programmers
depend on us.
... from giant corporations to small independents. There are
many reasons why. First, THE PROGRAMMER’S SHOP
provides the kind of personal service and support that is
not available anywhere else: answers ... technical literature
... newsletters... evaluation... special disk formats...
rush delivery... and more. But that’s just the beginning.
THE PROGRAMMER’S SHOP offers five times the product
selection of any other supplier... at good prices. We are
committed to helping you write better programs and get
maximum productivity out of your software... while saving
you time, trouble and money. Here are a few examples:
UNIX'^forthelBM PC
COHERENT by Williams is fast,
coresident with PCDOS, well
documented—for “C”
developers. $475
VENIX by Venturecom is a “true”
UNIX. It fits needs for development
and for business use. $775
XENIX by Microsoft is a rich sys¬
tem, has applications available
and a “High” 74 COBOL. $1325
UNIX is a trademark of Bell Lab.
ForCP/M-80
ECOsoft C is now complete, rich,
fast, has library source, trig $225
Edit programs with VEDIT ($119),
MINCE ($149) or“C”SEwith
source ($75)
Other Key Products
C86 by Cl ($339), Lattice ($359)
from Lifeboat or Microsoft, and
Williams C ($475) are in a tight
battle. Which is best for integra¬
tion with Fortran? 8087? support
libraries? speed? debugging?
FORTRAN-86 from Microsoft
($259) is improving with libraries
for graphics ($175), screen ($265),
and statistics ($275).
LISP by Integral Quality ($155) Is
well rounded while GC Lisp ($465)
supports syntax closer to “Com¬
mon LISP.”
Graphic “C” library with source-for
PC, Corona, printers, plotters, Hi-Res,
8087option, with source $195
PLINK-86 is a program- independent overlay Linker to
32 levels for all MS Languages, C86 and Lattice. $315
For a catalog, comparisons, prices, or for an info packet on AI, or Editors, “C,”
BASIC, PASCAL, FORTRAN, or COBOL—or just for straight answers—
CALL TOLL FREE 800-421-8006
THE PlUXilLliHMEK’S SHOP “
The programmer’s complete source for software, services and answers
128-P Rockland Street, Hanover, MA 02339 In Mass.: 800-442-8070 or 617-826-7531
PROLOG-86 ^
Learn Fast,
Experiment
1 or 2 pages of PROLOG would require
10 or 15 pages in “C."
Be familiar in one evening. In a few
days enhance artificial intelligence pro¬
grams included like;
• an Expert System
• Natural Language
Intro price: $125 for PCDOS, CPM-86.
Full Refund if not satisfied
SOLUTION SYSTEMS
45-PAccord Park, Norwell, MA02061
617-871-5435
C HELPER ^
UNIX-like utilities for
C Programming
Save time when working with your C
programs. Fullsource lets you modify,
helps you learn.
Utilities included: compare files (DIFF),
cross reference variables (CCREF),
examine flow of functions (FCHART),
search for patterns (GREP). Others
check syntax, print yourway, more.
$135 for MSDOS, CPM-86 or CPM80.
SOLUTION SYSTEMS
45-KAccord Park, Norwell, MA 02061
617-871-5435
Macros
the ?IEd: label is always generated
by the ENDIFM macro, whether or
not an ELSEM is included for the
header IFM macro. This piece of
magic is not documented in the
Macro Assembly Language manual.
mphsingly, the ?IEd:
label is always gener¬
ated by the ENDIFM
macro, whether or not an
ELSEM is included for the
header IFM Macro. This
piece of magic is not docu¬
mented in the Macro As¬
sembly Language manual
that is provided by IBM.
Apparently the reference to the
?ISd: label—that is, JMP ?ISd: —
generated by the header IFM
macro constitutes definition of the
symbol and not simply a reference.
However, here is the magic; when
no ?ISd: label is defined by an
ELSEM macro, the macro assembler
associates the reference to the ?ISd:
label generated by the IFM with
the ?IEd: label generated by the
ENDIFM. The ?IEd: label prints in
the expanded source listing of the
compiled program. The ?ISd: label
does not print in the expanded
source listing but does print in the
Symbol Table and the Cross Refer¬
ence, along with the ?IEd: label.
The set of macros found in list¬
ings 1 through 9 will allow the pro¬
grammer to take advantage of the
speed and power of assembly lan¬
guage without giving up the conve¬
nience of structured programming.
CIRCLE NO. 239 ON READER SERVICE CARD
PC Tech Journal
LETS TALK EXPERT-TO-EXPERT
PC TECH JOURNAL, the only magazine written for sophisticated
IBM PC users...talks with you expert to expert!
Do you require a magazine that provides you with the
insight and knowledge to act as your silent partner
when developing new programs? Have you needed to
consult with authorities in telecommunications to
resolve a nagging problem? Wouldn't a
second opinion about connecting your
PC to a main-frame be helpful? With your
subscription to PC TECH JOURNAL,
you're harnessing experts in your field...
experts who will talk to you in the lan¬
guage you understand, about the con¬
cerns you have...EXPERT TO EXPERT!
PC TECH JOURNAL is the techno¬
logically sophisticated magazine written
for experts in the field of personal com¬
puting like yourself...discussing the con¬
cerns experts have.. .developing elegant
programming methodologies only experts
can understand... covering the whole
field of IBM PC's with thought-provoking
articles on communications, distributed
processing, office automation, network¬
ing and programming.
Subscribe today and save up to 36% off the full
subscription price, and have PC TECH JOURNAL
delivered to your home or office every month! From
One Expert to Another; subscribe today!
mi—
h(PC
DURNA
PT4Z007
RO. Box 2966, Boulder, Colorado 80322
I want to communicate with other experts and professionals about
I IBM PC's and compatible machines! Please enter my subscription
to PC TECH JOURNAL for:
□ One year (12 issues) □ Two years for □ Three years for
for $24.97-SAVE 17%! $43.97-SAVE 27%! $57.97-SAVE 36%!
Mr./Mrs./Ms.-
Company_
Address_
please print name in full
State
Zip
City-_
Savings based on full one-year subscription price of $29.97.
Check one: □ Payment enclosed. □ Bill me later.
Charge my: D American Express D Visa O MasterCard
Card No_
Add $12 a year in Canada and all other foreign countries. Please allow 30 to 60 days for delivery of first issue.
JExp. Date-
Macros
Listing 1INITDOIF Macro
IFE 7CTI3X
7CTI3 = 7CTI
INITOOIF MACRO
7CTI3X = 1
?CT0=0
ELSE
?CTE=0
7CTI3 = 7CTI3 +1
?CT2X=0
7CTI3X = 7CTI3X +I
?CT3X=0
ENDIF
?CT4X=0
ELSE
?S1 = 0
IFE 7SI4
?S2 = 0
IFE 7CTI4X
?S3 = 0
7CTI4 = 7CTr
?S4 = 0
7CTI4X = 1
?CTI=0
ELSE
?CTI2X»0
7CTI4 = 7CTI4 +1
?CTI3X=0
7CTI4X = 7CTI4X +1
?CTI4X*0
ENDIF
?SI1 = 0
ELSE
?SI2 = 0
MJMP MP,7IFERR
?SI3 = 0
ENDIF
?SI4 = 0
ENDIF
ENDM
ENDIF
ENDIF
Listing 2 IFM Macro
IFM MACRO P1,P2,P3,P4,01,P5,P6,P7,P8,02,P9,P10,P11,P12
IFB <P2>
MJMP P1.7IF,X7CTI
MJMP MP,7IS,%7CTI
?CTA = 0
?CTI = ?CTI + 1
MLBL 7IF,%7CTI
ELSE
IFE ?SI1
PI P2,P4
?CTI1 = ?CTI
IFIDN <01>,<AND>
ELSE
IFE ?SI2
IFE ?CTI2X
7CTI2 = ?CTI
MJMP P3.7IA,%7CTI,%7CTA
MJMP MP,7IS.17CTI
MLBL 7IA,%7CTI,X7CTA
7CTA = 7CTA + 1
7CTI2X = 1
ELSE
P5 P6,PB
MJMP P7,7IA,%7CTI,%7CTA
?CTI2 = ?CTI2 +1
MJMP MP,7IS,%7CTI
7CTI2X = 7CTI2X +1
MLBL 7IA,%7CTI,%7CTA
ENOIF
7CTA = 7CTA + 1
ELSE
IFIDN <02>,<AND>
IFE 7SI3
P9 P10,P12
Have you heard?
During the last 12 months, thousands
of applications programmers dumped
dBASE II.
Why?
Because dBASE II hasn’t improved
a lick in years. And that makes it a
whole generation behind Q-PRO 4...
the 4th generation applications
development language for
microcomputers.
With dBASE II, all the original bugs,
complicated operations and absurd
restrictions (like only two open files)
are still there. dBASE II just can’t
make it for applications in 1984.
PR04 blows
spreail the won!
MJMP P11,?IF,%?CTI
MJMP MP,?IS,X?CTI
ENDIF
Listing 4 ENDIFM Macro
ENDIFM MACRO
MLBL ?IF,%?CTI
IFE 7CTI2X
ELSE
MALTLB ?IS,%?CTI1,?IE
MJMP P3,?IF,%?CTI
7CTI1 = 7CTI1 - 1
IFION <01>,<0R>
7SI1 = 1
P5 P6,P8
IFE 7CTI1
MJMP P7,?IF,%?CTI
7SI1 = 0
IFIDN <02>,<0R>
ENDIF
P9 P10,P12
ELSE
MJMP P11,?IF,%?CTI
IFE 7CTI3X
ENDIF
MALTLB 7IS,X?CTI2.?IE
ENDIF
7CTI2 = 7CTI2 - 1
MJMP MP,?IS.%?CTI
7CTI2X = 7CTI2X - 1
MLBL ?IF,%?CTI
7SI2 = 1
ENDIF
IFE 7CTI2X
ENDIF
7SI2 = 0
ENDM
ENDIF
ELSE
IFE 7CTI4X
sJ ■ Ilf 1 XvXC»V>'XVF
MALTLB ?IS,%7CTI3,7IE
7CTI3 = 7CTI3 - 1
ELSEM MACRO
7CTI3X = 7CTI3X - 1
IFE 7CTI2X
7SI3 = 1
?CTX =• 7CTI1
IFE 7CTI3X
ELSE
7SI3 = 0
IFE 7CTI3X
ENDIF
7CTX = 7CTI2
ELSE
ELSE
MALTLB 7IS,X7CTI4,7IE
IFE 7CTI4X
7CTI4 = 7CTI4 - 1
7CTX = 7CTI3
7CTI4X = 7CTI4X - 1
ELSE
7SI4 = 1
7CTX = 7CTI4
IFE 7CTI4X
ENDIF
7SI4 = 0
ENDIF
ENDIF
ENDIF
ENDIF
MJMP MP,7IE,X7CTX
ENDIF
MLBL ?IS,%7CTX
ENDIF
ENDM
ENDM
Apparently, Ashton Tate (the dBASE II
merchant) is gambling you don’t
know any better. It’s pitiful.
Well, we’ve been blowing the whistle
on Ashton...and Tate, too.
And you can spread the word.
Be one of the growing legions
that’s moving up to Q-PRO 4...
the complete 4th generation
applications development system
for microcomputers.
You can use Q-PRO 4’s super
efficient syntax to finish business
programs much faster. And the
extensive error trap and help screen
capabilities make the finished soft¬
ware products far more friendly, too.
As one convert put it, “O-PffO 4
has it all...the formatted data entry
field edits, and report generator are
absolutely superb.
“Any applications programmer still
struggling with outdated 3rd gener¬
ation data base managers or worse,
a 2nd generation language like
BASIC Is ripping himself off ”
So what are you waiting for? Here is
your chance to dump all the dBASE II
hassles and move up to Q-PRO 4...
the sensational 4th generation
language for faster, easier application
development.
You owe it to yourself, your career,
and your family to move up to
Q-PRO 4 now. It’s that good.
Attention Q-PRO 4 Hotshots.
Current version 3.0 includes Multi¬
key ISAM (true mainframe power).
Runs with PCDOS, MS-DOS, CP/M,
MP/M, CP/M86, MP/M86, TurboDOS,
MmmOST, MUSE, and NSTAR.
Single-user-$595; Multi-user-$795.
Author's lock up package available.
Finished applications are freely
transportable between operating
systems. Multi-user with true record
and file lock.
For Q-PRO 4 demonstration,
go to the nearest MicroAge store
or other fine dealer.
136 Granite Hill Court
Langhorne, PA 19047
(215) 968-5966 Telex 291 -765
CP/M, MP/M. CP/M86, and MP/M86 are trademarks of Digttal Research, TurboDOS, MmmOST,
MUSE, NSTAR. MS-DOS and PCDOS are trademarks of Software 2000, TeleVideo Systems,
O.S.M.. Molecular. Microsoft and IBM. respectively.
nuic n easi nmducts inc.
CIRCLE NO. 221 ON READER SERVICE CARD
Macros
Listing 5 DO Macro
Listing 6 DOEXIT Macro
DO MACRO TYP1,P1,P2,P3,P4
OOEXIT MACRO P1,P2,P3,P4
?CTD = ?CTD + 1
IFE 7CT2X
IFE ?S1
7CTX = 7CT1
?CT1 = ?CTD
ELSE
ELSE
IFE 7CT3X
IFE ?S2
7CTX = 7CT2
IFE ?CT2X
ELSE
?CT2 = ?CTD
IFE 7CT4X
7CT2X = 1
7CTX = 7CT3
ELSE
ELSE
?CT2 = ?CT2 +1
7CTX = 7CT4
?CT2X = ?CT2X +1
ENDIF
ENDIF
ENDIF
ELSE
ENDIF
IFE ?S3
IFB <P1>
IFE 7CT3X
MJMP MP,7DE,X7CTX
7CT3 = 7CTD
ELSE
7CT3X = 1
IFB <P2>
ELSE
MJMPN P1,70X,S7CTX,%7CTE
7CT3 = 7CT3 +1
MJMP MP,7DE,%7CTX
7CT3X = 7CT3X +1
MLBL 70X,%7CTX,%7CTE
ENDIF
7CTE = 7CTE +1
ELSE
ELSE
IFE 7S4
PI P2,P4
IFE 7CT4X
MJMPN P3,70X,%7CTX,X7CTE
7CT4 = 7CTD
MJMP MP,7DE,%7CTX
7CT4X = 1
MLBL 7DX,t7CTX,X7CTE
ELSE
7CTE = 7CTE +1
7CT4 = 7CT4 +1
ENDIF
7CT4X = 7CT4X +1
ENDIF
ENDIF
ENDM
ELSE
MJMP MP,7D0ERR
ENDIF
ENDIF
Listing 7 ENDDO Macro
ENDIF
ENDIF
ENDDO MACRO
IFIDN <TYP1>,<INF>
IFE 7CT2X
MLBL 7DW,X7CTD
MJMP MP,7DW,X7CT1
ELSE
MLBL 70E,X7CT1
IFIDN <TYP1>,<WHILE>
7CT1 = 7CT1 - 1
MLBL 70W,X7CTD
7S1 = 1
PI P2,P4
IFE 7CT1
MJMP P3,7DL.%7CTD
7S1 = 0
MJMP MP,7DE,%7CTO
7CTE = 0
MLBL 7DL.X7CT0
ENDIF
ELSE
ELSE
IFIDN <TYP1>,<UNTIL>
IFE 7CT3X
MLBL 7DW.%7CTD
MJMP MP,7DW.X7CT2
PI P2,P4
MLBL 7DE,X7CT2
MJMPN P3,7DL,%7CTD
7CT2 = 7CT2 - 1
MJMP MP,7DE,X7CTD
7CT2X = 7CT2X - 1
MLBL 7DL,%7CTD
7S2 = 1
ELSE
IFE 7CT2X
IFIDN <TYPl>.<FROM>
7S2 = 0
IFNB <P2>
ENDIF
MOV P1,P2
ELSE
ENDIF
IFE 7CT4X
MLBL 7DW,X7CTD
MJMP MP,7DW,17CT3
IFNB <P3>
MLBL 7DE,X7CT3
SUB P1,P3
7CT3 = 7CT3 - 1
ELSE
7CT3X = 7CT3X - 1
DEC PI
7S3 = 1
ENDIF
IFE 7CT3X
IFNB <P4>
7S3 = 0
CMP P1,P4
ENDIF
ENDIF
ELSE
MJMP GE,7DL,%7CTD
MJMP MP,70W,X7CT4
MJMP MP,70E,%7CTD
MLBL 7DE,X7CT4
MLBL 7DL,X7CTD
7CT4 = 7CT4 - 1
ELSE
7CT4X = 7CT4X - 1
MJMP MP,7BA0D0,%7CTD
7S4 = 1
ENDIF
IFE 7CT4X
ENDIF
7S4 = 0
ENDIF
ENDIF
ENDIF
ENDIF
ENDM
ENDIF
ENDIF
ENDM
IM
PC Tech Journal
Now,
X-shell™ brings
Unix™ capability to your PC
for an amazingly low
Computers. You know at least two
things about them: One, they should
be a tool for solving your problems.
Not creating them. Two, you want
to spend as litde time as possible
on one.
X-shefl
Software Tools Padtage
That’s why Standard DataCom, Inc.
developed X-shell, a command
interpreter software tools package for
IBM PCs and MS-DOSTC-EX)S
operating systems.
X-shell helps your computer solve
your problems faster. Makes the
time you spend on the computer
more efficient. Squeezes more out of
your computer investment.
Proven
Unix Features
X-shell gives you Unix capability by
providing these proven Unix features:
1. Support for pipelines and
filters
2. Input & output redirection
3. Variable substitutions
4. Command substitutions
5. Filename expansion
6. Nested command files
7. Stmctured flow control:
iFthen/else, while/do/done,
until/do/done, case/esac,
for/do/done
Unix is a trademark of Bell Laboratories
X-shell is a trademark of Standard DataCom. Int.
Hardware Requirements
(vdiere you can save hard cash)
IBM PC or XT (or compatible)
256K bytes of RAM
2 Disk Drives—^Hard or Floppy
Since X-shell can be run using floppy
disk drives, you can save a bundle of
money on your hardware. Hard disks
are expensive. Floppies aren’t. It’s
that simple.
What You GetFor $225
1. Complete Documentation,
including: Installation, Tutorial and
Reference Manuals.
2. Complete X-shell Software Tools
Package on two diskettes.
3. A more efficient use of your
computer time.
4. More effective use of your PC.
How To Order X-shell
Software Requirements
PC-DOS version 1.1 or 2.0
Software Disk Emulator
Since X-shell mns on PC-DOS, it
supports existing PC-DOS software.
Over 40
Commands
X-shell’s commands
include:
Get the software package that gives
you Unix capability for an amazingly
low $225.
Call Standard DataCom, Inc.
415-775-8882 with your Visa or
MasterCard order, or for more
information.
Or ask your dealer.
basename
-strip extension from
num
-number lines
file name
pr
-format files for printing
cat
-concatenate files
print
-pr directed to printer
cd
-change directory
pwd
-print working directory
clear
-clear monitor screen
rm
-remove files (delete)
emp
-compare files
sh
-shell (command
comm
-output lines common
interpreter)
to two files
size
-size of object code
cp
-copy files
sort
-sort numerically or
cpio
-file backup/archival
alphabetically
date
-get or set date and time
sum
-checksum file
echo
-echo arguments to stdout
tail
-output last lines of file
expand
-expand tabs into spaces
tee
-pipe fitting
expr
-string and arithmetic
test
-test file's or string's
evaluation
characteristics
false
-do nothing,
time
-determine time to execute
unsuccessfully
a command
find
-produce list of selected
tr
-translate or delete
files
characters
grep
-search files for specified
true
-do nothing,
pattern
successfully
hd
-hex file dumper
unexpand
-replace spaces with tabs
head
-output 1st lines of file
uniq
-remove duplicate lines
is
-sorted directory list
wc
-count chars, words
more
-copy files to display
and lines
mv
-movefiles (rename)
words
-output file 1 word per line
Dealer Inquiries Invited
Standard
DataCom^
Ask us about X.25
Standard DataCom, Inc.,
1550 California Street #6195,
San Francisco, CA 94109
CIRCLE NO. 299 ON READER SERVICE CARD
Macros
Listing 8 MLBL, MALTLB, and
MJMP Macros
MLBL MACRO Pl.CTl.CTZ
&P1&CT1&CT2:
ENDM
MALTLB MACRO P1,P2,P3
IFDEF iPl&P2
MLBL P3,P2
ELSE
MLBL P1,P2
ENOIF
ENOM
MJMP MACRO P1,P2,CT1,CT2,P3,CT3
IFNB <P3>
&P3&CT3: J4P1 4P2iCTl&CT2
ELSE
J&Pl &P2&CTUCT2
ENOIF
ENDM
Listing 9 MJMPN Macro
MJMPN MACRO PI,P2,CT1,CT2,P3,CT3
IFIDN <P1>,<E>
MJMP NE,P2,CT1,CT2,P3.CT3
ELSE
IFIDN <P1>,<Z>
MJMP NZ,-P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<NE>
MJMP E,P2,CT1,CT2,P3,CT^
ELSE
IFIDN <P1>,<NZ>
MJMP Z,P2.CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<BE>
MJMP NBE,P2,CT1,CT2.P3,CT3
ELSE
IFIDN <P1>,<NA>
MJMP A,P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<NBE>
MJMP BE,P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<A>
MJMP NA,P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<AE>
MJMP NAE,P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<NB>
MJMP B,P2,CTl,CT2,P3,CT3
ELSE
IFIDN <P1>,<NAE>
MJMP AE,P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<B>
MJMP NB,P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<G>
MJMP NG,P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<NLE>
MJMP LE,P2,CT1.CT2.P3,CT3
ELSE
IFIDN <P1>,<N6>
MJMP G,P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<LE>
MJMP NLE,P2,CT1,CT2,P3,CT3
ELSE
IFIDN <P1>,<GE>
MJMP NGE,P2,CT1,CT2,P3,CT3
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
IFIDN
MJMP
ELSE
MJMP
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENaiF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDM
<P1>,<NL>
L,P2,CT1,CT2,P3,CT3
<P1>,<NGE>
GE,P2,CT1,CT2,P3,CT3
<P1>,<L>
NL,P2,CT1,CT2,P3,CT3
<P1>,<0>
NO, P2,CT1,CT2,P3,CT3
<PI>,<NO>
O, P2,CT1.CT2,P3,CT3
<P1>,<NS>
S,P2,CT1,CT2,P3,CT3
<P1>,<S>
NS,P2,CT1,CT2,P3,CT3
<P1>,<NP>
P, P2,CT1,CT2,P3,CT3
<P1>,<P>
NP, P2,CT1,CT2,P3,CT3
<Pl>,<PO>
PE,P2.CT1,CT2,P3,CT3
<P1>,<PE>
PO,P2,CTl,CT2,P3,CT3
<P1>,<NC>
C,P2,CT1,CT2,P3,CT3
<P1>,<C>
NC,P2,CTl,CT2,P3,CT3
MP,?BADOP,CTl
166
PC Tech Journal
No Head is Better
than One!
Bubble Storage for the PC and PC XT.
Bubble memory combines the
best features of disk and solid state
memory with extreme reliability.
Unlike a floppy disk, it's entirely solid
state with no moving parts. This
makes it impervious to dust, dirt,
fumes, and vibration. And, unlike
normal memory, it doesn't lose data
when the power goes off.
Now you can enjoy all the
advantages of bubble memory
combined with thefamous Pure Data
quality and reliability for your
IBM PC or XT.
• PDIB-128 provides 128 KBytes in one
slot
• PDIB-384 provides 384 KBytes in one
slot
• Not affected by power failure
• Faster than a floppy disk
• Extremely reliable
• Standard DOS 2.0 disk-type device
• Compatible with all DOS software
• No patching of any system files
• Password option for computer
and/or bubble
• Password cannot be bypassed by
software
• Comprehensive diagnostics and other
utilities
• Fully illustrated installation and
operation manual
• Technical support hot-line
• Guaranteed 48 hour service
• Bubble uses 2 I/O addresses and no
memory space
• Interrupts are supported but not
required
• DMA is supported but not required
• On-board EPROM socket
• Pure Data quality and reliability
• No moving parts
PDIB-384
Pure
Data Ltd
860 Denison Street,
Markham. Ontario. Canada L3R 4H1
a! (416) 475-2424 2(416)498-
PDIB-128
1616
Highland Computer Corporation, Keysoft International,
Computerland, Computer Innovations, Compugroup,
ECOSEA Technologies and others.
108,
Pure Data products are available through.
1335 Valwood Parkway, Suite
WllllPU^ Carrollton.Texas 75006
DATA SYSTEMS Telephone (214) 620-8000
P.O. Box 815155, Dallas, Texas 75381
IBM is a registered trademark of International Business Machines Corporation,
CIRCLE NO. 190 ON READER SERVICE CARD
CIRCLE NO. 204 ON READER SERVICE CARD
9 TimCK IlFE
cmmiouER
New 1/2" Tape
/ontrolier for the IBM-PC
TC-PC is a high performance tape
controller for the IBM-PC with these
important features:
• Capable of reading and writing
industry standard 1/2" tape
• Comprehensive software tools
supplied
• 8 bit parallel recording with parity
and read-after-write verification of
data
• Compatible with most nine track
formatted tape drives
• Operates with tape drive speeds up
to 120 inches per second; allows
data transfer rates of up to 192,000
bytes per second
• Economically priced at $880
For more information on the TC-PC,
call or write today.
Dealer/Distributor inquiries invited.
OVERLAND DATA, IND.
5644 Kearny Mesa Rd., Suite A
San Diego, CA 92111
Jiel. (619) 571-5555
Diskette Exchange Software
Access IBM data processing equip¬
ment through the 8" diskette and
avoid the problems of serial com¬
munication.
By adding an 8" drive to your PC
and using our REFORMATTER®
Conversion Software, you can ex¬
change diskettes with IBM’s 3741,
3742, 3747, 5110/20, Series 1, System
3/32/34/36/38/360/370 and 43xx and
non IBM machines that read and write
the IBM 3740 diskette.
Available under PC-DOS or
CP/M-86 at $350 from MicroTech
Exports, 467 Hamilton Avenue, Palo
Alto, CA 94301. Tel: 415-324-9114
TWX: 910-370-7457: MUH-ALTOS.
TM
Scroll & Recall
Screen and Keyboard Enhancement
for the IBM - PC, XT and Compatibles
Allows you to conveniently scroll back
through data that has gone off the top of
your display screen.
' Allows you to easily recall and edit your
previously entered DOS commands and
data lines.
Very easy to use, fully documented. Com¬
patible with all versions of DOS, mono¬
chrome & graphic displays.
$69 - Visa, M/C, Check, COD, POs
Phone orders accepted
Make Your Work Easier!
To Order or to Receive Additional
Information, Write or Call:
Opt-Tech Data Processing
P.O. Box 2167 • Humble, Texas 77347
(713) 454-7428
Dealer Inquiries Welcome
g
CIRCLE NO. 196 ON READER SERVICE CARD
IMPROVE YOUR PC MEMORY
Now you can organize your copies of
PC TECHlOURNAL _
Now youi magazines can be a handsome addition to your decor,
well organized, and easy to find, thanks to these durable li¬
brary-quality cases or binders. They’re made of luxury-look
leatherette over high-quality binder board. And both styles are
custom-designed for this or any other magazine you save, with
size, color and imprint selected by the publisher. FREE transfer
foil included for marking dates and volumes.
Magazine binders
holds youi issues on
individual snap-in rods,
combining them into
one volume. $7.95 each;
3 for $22.50:6 for $42.95.
Mixed titles OK for quan¬
tity prices
Open-back cases
store your issues for individ¬
ual reference. $6.95 each; 3
for $19.75; 6 for $37.50. Mixed
titles OK for cjuantity prices.
IT
For faster service,
CALL TOLL-FREE 800-526-0790
(In N] only 201-540-0445)
PC TECH JOURNAL
P.O. Box 5120, Philadelphia, PA 19141
Please send: □ Cases □ Binders
TITLE QUANTITY
PC Tech Journal _
Other:___
■q
□ PAYMENT ENCLOSED $_‘Add
$1.00 per order for postage and handling. Out¬
side USA add $2.50 per unit ordered; send US
funds only.
□ CHARGE (Minimum $10):
□ American Express □ MasterCard
□ Visa
Card No_
Signature_
Print Name-
Address_
City_
-Exp. Date-
State/Zip_
I_ *Residents of PA add 6% sales tax. I
CIRCLE NO. 185 ON READER SERVICE CARD
Considering Tape
For Backup Storage?
There was a time when tape was the way to store backup
data from your hard disk. It was fine for archives, but not
when you wanted your data live and on-line. Today’s busi¬
ness pharaoh can have his data on-line and backups,
too—with 5 or 10 megabyte removable cartridge hard disk
systems from Micro-Design.
Single-function tape backup units can’t come close to
matching the versatility and cost-effectiveness of hard disk
cartridges: you get backup capabilities PLUS the benefit of
having another full 5 or 10 megabytes of on-line data
access.
Unlimited Expansion, no more erasing old data to
increase space on your hard disk. Fact is, there’s no limit
to the amount of off-line storage you can add.
Our DATA Series 5 and 10 megabyte cartridge hard disks
are external drives available in removable only, or paired
with 10, 20. or 33 megabyte fixed drives. Our SQ Series
features 5 megabyte cartridge drives, in matching exter¬
nal cases or ready for internal installation. All are 100% com¬
patible with the IBM-PC, XT, and work-alikes, with no
software modifications needed. You can even boot from
the hard disk.
Use hard disk cartridges the same way you use a floppy
disk system. Just switch them out as needed—one car¬
tridge for wordprocessing, another for accounting, and an¬
other for backup storage. Add additional cartridges when¬
ever you like.
Don’t let single-function hard disk and tape units send your
asp up the Nile. Ask your local computer dealer about
Micro-Design’s versatile hard disk cartridge units. Or. call
us for details on our full product line and ordering informa¬
tion. Dealer inquiries invited.
We’ve got a complete line of mass storage
devices, including floppy drives. Prices start as
low as $1549 fora 20 megabyte fixed hard disk
drive. Call for our FREE catalog today!
One year warranty. Network compatible. Backup utility software included
with 2 drive systems.
Micro-Design
Making The Most of Your Micro.
CIRCLE NO. 134 ON READER SERVICE CARD
Call Toll FREE 1-800-531-5002.
In Texas, call 512-441-7890.
6301 B Manchaca Rd.. Austin. TX 78745
Fast. Cartridges run as fast, or faster, than
fixed hard disk drives. A 5 mega¬
byte backup takes only a few
minutes, using Micro-Design’s
backup utility software.
Switching out cartridges
takes just a few seconds.
Convenient and
Secure, it’s easy to
lock-up sensitive files
—Just remove the car¬
tridge and put it somewhere safe. If you share a computer
with others, everyone can have their own cartridge. Or, have
a home cartridge and a business cartridge for use with your
portable computer.
IBM® International Business Machines.
Introducing the new
United they stand.
Programs in IBM s Assistant
Series are like actors in a play. Alone,
each gives an outstanding performance.
Together, they’ve been directed to act well as
a troupe. (In the software world, this interaction
is called “integration.”)
Just as actors can easily perform
on different stages, these programs can easily
work on different IBM personal computers —
from PQ'r to larger systems like PC/XT.
How integrated software works.
Want to get your facts and figures in order? Start with
IBM Filing Assistant. Then, to print the facts in tabular form,
add IBM Reporting Assistant. To write about what you’ve
been working on (and make sure the spelling’s accurate), use
IBM Writing Assistant—the word processing program. Want to
put a chart in the middle of your text? Use IBM Graphing Assistant.
It takes data directly from IBM Filing Assistant to turn numbers
into pictures. When it’s time to think ahead with schedules and
forecasts—get IBM Planning Assistant,* the spreadsheet program.
The finishing touch? IBM Assistant Solutions. They
Little Tramp character licensed by Bubbles Inc.
* Available early next year.
Prices apply at IBM Product Centers
s.a.
IBM Assistant Series.
Divided they stand.
make using IBM Filing Assistant
even easier. To.help you with record
keeping, several predefined, often-used
forms are included in each
Solutions package.
Learn one, learn them all.
IBM’s Assistant Series works hard for you.
But the programs aren’t hard to work. Many
of the menus, commands and function keys are the
same. So once you’ve learned one program, you’re well on
your way to mastering the rest.
They’re not hard to buy, either. Pick what
you want tvhen you want. Each program is less than $150.**
There's a demo in store.
We’ve shown you how affordable the new IBM Assistant Series is.
But we can’t show you how easy. Your dealer can. Simply ask for a
demonstration. For the authorized IBM Personal Computer dealer
or IBM Product Center near you, call 800-447-4700. ,
In Alaska or Hawaii, 800-447-0890. "S* »
CIRCLE NO. 152 ON READER SERVICE CARD
Personal Computer Software
^ 5 -.^E'SS
ro rrt
f'Msr'^'"' ^^^fosr!, ,
';f?yrv-;':
^ 1 ^
■'-/V
LANSIGKS.
ALL ON ONE PAGE!
Ojg,
Here’s documented
proof that full-
function word-and-
graphics processing
is practical at last.
What you see is what
you get: text, charts and
quality graphics, easily
produced and merged on
the IBM PC or XT, then
output together. Concur¬
rent rasterization lets your
printer turn out highest-
resolution results while you
turn the computer to other
tasks.
Produce your own proof:
call to arrange for a demon¬
stration today.
1 - 800 - 547-4000
CONCEPT
TECHNOLOGIES:
THE DOCUMENT
PROCESSORS
‘".O'! ^‘STBb
CIRCLE NO. 120 ON READER SERVICE CARD
VN
ASSEMBLERS
WITHOUT
LCERS
macro techniques
for ASM-86
M achine-language program¬
ming is often a painful chore
for even the most experienced pro¬
grammers. Assemblers are noto¬
riously tricky, unforgiving beasts
that embody all the most frustrating
characteristics of dealing with com¬
puters. However, higher-level lan¬
guages often fail to give the user
access to the full power of the ma¬
chine, and they produce less-than-
optimum code, costing the user lots
of time and/or making the program
much larger than strictly necessary.
Sometimes the efficiency and
total control of assemblers is re¬
quired. One way to get that control
on the IBM PC without descending
to the masochistic depths plumbed
by hard-core assembly hackers is
with ASM-86's macro feature.
the language you want to speak
without introducing the inefficien¬
cies of a compiler or interpreter.
Unlike higher-level languages, ma¬
cros won't directly help you reduce
the bug vulnerability of your pro¬
grams, but they can help you reuse
debugged instruction sequences.
The macro features of ASM-86
are documented in chapter 5 of the
Macro Assembler manual, on pages
5-48 to 5-69; conditional pseudo-ops
are documented on pages 5-44 to
5-48. The ASM-86 manual is not a
masterpiece of clarity overall, and
the sections on pseudo-ops and ma¬
cros are particularly obscure. By the
time you've read this article,
though, you'll be able to make the
assembler do wonders. Let's start
Eric S. Raymond
Shorthand
A macro is a way of replacing one
piece of text with another. With
macros you can invent a shorthand
that brings your assembler closer to
Eric Raymond is a software designer
working on UNIX applications for Rabbit
Software of Malvern, PA. His background is
in artificial intelligence research, language
design, and software engineering tech¬
niques. He is writing a book on portability
under UNIX. He owns a PC with a very
low serial number.
September i984
173
ASM-86
For your IBM PC or compatible
574" FULL AND HALF
HEIGHT DISK DRIVES
TANDON TM 100-2
TANDON TM 101-4
CONTROL DATA 9409
TANDON 50-2
CONTROL DATA 9428
OUME 142-A
TEAC 55B
TEAC 55F
AMDEK AMDISK-V
MONITORS
AMDEK VIDEO 310-A
PGS HX-12
PGS SR-12
I HARD DISK SUB^STEMS
r INTERFACE
10. 15. 21 & 33MB
MAYNARD
WS1. 2, & 3
DISK DRIVE CONTROLLERS 1
MAYNARD
All options available.
FDC (5V4")
FDC (8")
MAYNARD
Sandstar Series
Modular Controller Cards .
1 SOF*f^RE UTiLITiES
HBHHHHI '
TALL TREE
J FORMAT-2. WINDRIVE.
JETDRIVE .
Each $40
1 EXPANSION BOAFIDS
AST RESEARCH
All options available.
Expandable memory.
SIX PAK PLUS (64K)
MEGA PLUS II (64K)
I/O PLUS II
QUADRAM
All options available. Expandable memory.
QUADBOARD
EXPANDED QUADBOARD
QUADBOARD II
COLOR/GRAPHICS CARDS V7 ■
$250
HERCULES
PARADISE SYSTEMS
AST MONOGRAPH PLUS
Hours: 8 AM - 5 PM Mon.-Fri.
Toll Free 1-800-632-8515
California 1-714-632-8512
TERMS; Prepayment, COD, Visa and MasterCard
accepted. Add 2% shipping and handling on all orders.
Add 3% surcharge for Visa and MasterCard.
Prices subject to change without notice. 20% re¬
stocking charge for all returned items.
with an example of what can be
done using macros.
In 8088 machine language one
instruction can move data from reg¬
ister to register, or from memory to
register, or from register to memory,
but not directly from memory to
memory. If you've gotten tired of
coding things like
MOV AX, SOURCEWORD
MOV DESTINATION, AX
when what you want is
MOV DESTINATION,
SOURCEWORD
then you're ready for a macro. Put
figure 1 in front of your program.
This tells the assembler to substi¬
tute the lines between MACRO and
ENDM anywhere it sees MOVE in
the program. D and S are like func¬
tion arguments in a higher-level
languages: they tell ASM-86 where
to substitute the tokens it sees on
the line after MOVE. Note, by the
way, the use of semicolons to start
comments that shouldn't be in¬
cluded in the expansion. Macros,
like assembler code, should be
heavily commented for readability.
Then you can write
ADD ALPHA, 2 ;ALPHA is a
memory location
MOVE SCRATCH, ALPHA ;So is
SCRATCH
AND CX, SCRATCH
and the assembler will see:
ADD ALPHA, 2
MOV AX, ALPHA
MOV SCRATCH, AX
AND CX, SCRATCH
You can now view MOVE as an
extra assembler instruction, but
you're in trouble if you use it some¬
where that destroys an important
AX value. This illustrates the major
pitfall of macros: they can hide
nasty side effects. One way to fix
this is found in figure 2. Note that
using a macro for an instruction se¬
quence doesn't generate any less
code than writing the instructions
out by hand; it just saves time and
may make the program more read¬
able. ASM-86 expands all macros
during pass 1.
MOVE still has a problem. If ei¬
ther D or S are registers, then four
instructions have been generated
PC Tech Journal
CIRCLE NO. 123 ON READER SERVICE CARD
VvX^o'm c^°?\e cO'^„aO^-
Xoeo°'i:i,<:iV
5TCO^^oOV'®'^
25 Pack
Complete*
Single Sided
Double Density
Soft sector 5 V 4 " flexible diskettes
Double Sided
Double Density
*Complete with hub reinforcing rings,
Tyvek sleeves, color coded user
labels, and write protect tabs.
Quali^ you expect
at a price you don’t.
Proven quality at a great price. BECK offers
you a full satisfaction money-back guaran¬
tee - you can’t lose! If you like the quality of
3M, Dysan, Verbatim, et al, you’ll like BECK.
• Satisfaction, Money-Back Guarantee
• 100% Certified, 100% Error-Free
• Full 7-Year Warranty
• Tested and Retested 21 Times to 42 Rigid
Specifications
• Meets or Exceeds ANSI Standards
For IBM, Apple, TRS, and 97% of popular
computers.
Order Toll Free 1-800-232-5634.
Available in 25-Pack only plus freight.
Bulk product inquiries welcome.
COD’S CASH ONLY
Corp. Accts Welcome
Order Now Toll Free
Door to Door in 48 hrs.
(In New Hampshire call 924-3821)
ASM-86
ragment ■
MOVE MACRO ■;
- ■ isREG
ISREG ■:
IF
MOV •
. . ELSE ■ ■■
■_ ' ■ PUSH .
MOV
■ V.' MOV
■ V ■ POP
/ EN0IF-;
ENDH -
o,s
vDR.D
SR,S
(DR OR SR)
D.S
■!:AX
. AX,0
S.AX
AX
;Anything-to-anything move
;0R<-0,1 as D is/is not a register
jDS^-O,! as S is/is not a register
;If 0 or S is a register
;do a MOV
;else
; save,AX
;use it as scratch pad
;finish the move ' .
;restore AX
;end of if .;.■ ■■
;End of MOVE
. . ■
MACRO'-'' RES.ARG-^S'iRES <- 0 or I as ARG is/not a register
RES =0 ;;Start off assuming it's not
IRP . X, <AH,8H,CH,DH,AL,8L.eL,0L.AX,BX,CX.0X,SI,0I,8P,SP>
- ■ IFIDN <X>,ARG>
;;If it's in the list ...
RES -s
;;return 1 i'-;. ' "
ENOIF ■
■ . ;;End of test ■
■ ENDM ■
^ ;;End of IRP ■
^ ENDM
_;;End of ISREG
1 Figure 6: CASE Macro
CASE MACRO KEY, VALS, LABELS
. = 0
X.VALS .
= X+1
L,X, LABELS
y-'; V.X,VALUES
KEY.v
I
X
IRP
X
NTH
NTH ■
CMP
JZ
ENOH
■ ENDM
;CASE statement for assembler ■
;Initialize value counter
;Loop through key-values list
;counting from 1 to its length.
;Get the nth labeV to L
;Get the nth label to V -
jGenerate code to see if KEY^V
;dnd jump to L if true
; then exit the loop
; End of CASE
.a-ti
Figure 7: INTFUN Macro
m.
■function inkey:
INKEY PROC
IHTFUN
TEST
V Vl ■ 'JNZ ■
; v'.'' ADD ■
XCHG .
NORMAL: RET '
INKEY ■ ENOP
char'i““- the Pascal header
FAR ;Return char in AL, no echo.
16H,0 -jChar in AL, scan code in AH
AL.AL ',Is character null? .
NORMAL ;If not, we're done ■.■■■■
AH,BOH ;If so, meta the scan code ■
AL,AH and arrange to return it.
where one would do. To fix this,
conditionals must be used (see man¬
ual pages 5-44 and 5-45). The logic
we want can be seen in figure 3.
Fortunately, macros can call
other macros. To test a macro to see
if a parameter is a register, use the
fragment in figure 4.
To write ISREG (see figure 5),
introduce the IRP operator, which
permits you to loop through a list of
arguments. This list is bounded by
angle brackets and treated like a sin¬
gle argument; theO act like
quotes. IRP also requires a dummy-
variable argument to hold the list
member it's currently looking at.
I use X. Modularizing code into
small functional pieces pays off in
ease-of-maintenance and reusability.
ISREG and MOVE can now be put
in a macro utilities file (INCLUDEd
when needed), and both of these
macros can also be reused as build¬
ing blocks for other macros.
It should be obvious by now
that ASM-86 macro is a full pro¬
gramming language; it can express
conditionals and loops. Consider the
CASE macro in figure 6. It depends,
of course, on NTH, which is left as
an exercise for the reader (hint: look
CIRCLE NO. 193 ON READER SERVICE CARD
PC Tech Journal
Complete, High Precision,
Low Speed Data Acquisition
and Control System,
FEATURING:
4 Analog Input Channels with OverVoltage Protection
to 120 Volts rms
4 Analog Input 30 dB (60Hz) Switchable Filters
2 Switch Selectable RTD Interfaces
2 Precision Adjustable Voltage References
2 Precision ImA Constant Current Sources
2-3-4 Wire Bridge Operation
Battery Backed-Up Clock/Calendar
External Interrupt Capabilities
16 Channels Per Second Throughput
Easy to Understand Instruction Manual With Practical
Examples
IBM Color Adapter Board Required
One YEAR WARRANTY
SOFTWARE INCLUDED
Data Acquisition and Control
* Graphics-plotting and storing graphs
Transducer Linearization
CRT-Assisted board Calibration/Set-Up
Procedures
EASY TO USE
1 CALL Statement accesses all Analog and Digital I/O
Board plugs directly into the I.B.M. PC
12 Bits of Digital I/O
12 Bit resolution of Analog I/O
ACCESSORIES AVAILABLE
yre • Analog Output D/As (12 Bit Resolution)
• Instrumentation Amplifiers for Switch Selectable
able Analog Input Gains of lO, lOO, lOOO
(extends resolution to 0.5 Microvolt per bit)
cle • OPTO-22 Type Modules, Cables, Connectors
• 6-Inch RTD for Temperature Measurements
Screw Terminal Input/Output Board With Enclosure
(cable extra)
Solid State I/O Module Board With Enclosure (cable
extra)
Form C Relay Output Board With Enclosure (cable
extra)
The Price,
CIRCLE NO. 269 ON READER SERVICE CARD
IBM Personal Computer Is a I
registered Trademark of IBM
Also
Accepting
254 Tosco Drive, Stoughton, MA 02072
(617) 344-1990
GET “C”APPLICA TIONS OFF TO A FL YING START
WITH ^
^ C-SORT '
C-TREE"
RECORD MANAGEMENT
SUBSYSTEM
• Advanced B+ Tree Structure
• Very Fast And Efficient
• Unlimited # Of Keys
• Keys May Be Duplicate, LIFO/
FIFO, Modifiable
• Record Locking Calls
• Random And Sequential Access
• Utilities To Add/Delete Keys
And Fields, Rebuild Files
• Error Processing Interface
SORVSELECT! MERGE
SUBSYSTEM
' Advanced Quick/Toumament
Combination Sort
Sort C-Tree Or Sequential Files
Automatically Uses All
Available Memory, And Merges
On Disk
Sorts On Up To 50 Fields Or
Partial Fields; Unlimited
Number Of Selection Criteria
Creates Tag (Index) Sorting File,
Leaves Original File Intact
Stores Data Dictionary In File ordering information
SINGLE UNIT OBJECT LICENSE
$99 per program plus shipping.
Format SVa Disk MS-DOS
Compatible Linkable 8086-file
format modules for Lattice-C or
Microsoft-C Compilers, others
soon. Complete documentation.
AccttData Software’^**
Dept. T-9
P.O. Box 6502
Austin, Texas 78762
SOURCE CODE LICENSE
$249 per program plus shipping
(single unit). “C” Source Code is
well documented. Allows modification
to suit application. Credit allowed
for object license.
MULTIPLE COPY LICENSE
Multiple copies of object code
or source code derivatives may
be rtiade with this license at
a very low unit cost.
Telephone Orders Accepted
Visa/Mastercard
( 512 ) 476-8356
CIRCLE NO. 157 ON READER SERVICE CARD
Multi-tasking...
Multi-user...
MultiLink!
MultiLink turns PC-DOS (or MS-DOS) into a multi-user, multi-tasking
system without expensive hardware. If you have at least 96K of memory,
MultiLink is all you need for concurrent processing.
If you also have serial ports and appropriate terminals, you can station up to 8
additional users running normal DOS applications.
MultiLink permits task synchronization, prioritization, disk and file sharing,
and other features geared to development of multi-user software.
Also included is a full-featured bulletin board system allowing dial-in access
which runs as an independent task.
On the market since February of '83, MultiLink supports the IBM PC or XT
running either PC-DOS 1.1 or 2.0, and will handle future releases as required.
Also supported are the Columbia, Corona, and Eagle 1600 series, with others
under development.
Available now at $295. Evaluation version for the faint of heart. Visa, MC
accepted. Dealer inquiries invited.
THE SOFTWARE LINK, INC.
6700 23-B ROSWELL RD. • ATLANTA. GA 30328 • 404/255-1254
ASM-86
at the IRP loop in ISREG again). If
you have the correct answer,
CASE AX, <1, 2, 3, 4>, <PROCA,
PROCB, PROCC, PROCD>
automatically generates a dispatch
table based on the value of AX.
Macros can enable you to turn your
ASM-86 into something resembling
a structured programming language.
Once you've written something like
CASE and verified that it expands
correctly, you never have to hand
code a dispatch table again. Further¬
more, when you reuse macros that
you know have worked you can
have more confidence in your code.
Macro System for
ASM Routines
Macros don't provide the safety net
a good compiler or interpreter does,
so assembler-to-compiler interfacing
is important. There are painless
ways to use macros to get Microsoft
Pascal, Lattice C, and other high-lev¬
el languages to talk to ASM-86.
Generating the stereotyped code for
assembler-to-compiler interfacing is
what such macros do best.
Listing 1 is a macro system that
helps write ASM-86 routines that
are automatically accessible to Pas¬
cal and C. Using this, you can ar¬
range for your service code to take
any number of value, CONST, or
VAR arguments, do anything with
them, and then load VAR argu¬
ments back out. You can even ar¬
range for your code to return the
value of any register through AX or
the value on the carry-flag—all
without hand-coding a single line of
assembly language.
Listing 1 can teach you ad¬
vanced macro techniques useful for
assembler systems-level program¬
ming. Ancestors of these were used
to generate assembler support for a
screen I/O package that features
multiple independently-scrolled
windows; it is in production use in
a successful communications pro¬
gram. The following examples of
the macro system are working rou-
178
CIRCLE NO. 198 ON READER SERVICE CARD
PC Tech Journal
GRAPHICS
MASTER"
WHAT A PAIR !
Tecmar’s Graphics Master” & Lotus 1-2-3
Graphics Master is the only board that creates
both monochrome and color graphics for
Lotus 1-2-3.
You can also run IBM compatible software
because Graphics Master emulates both the IBM
Color Graphics Adapter and the Monochrome
Adapter.
We are pleased to announce that Graf-Talk^ and
MetaWindow^ software take full advantage of
Graphics Master’s high resolution graphics.
the power behind the PC
Graphics Master is the only board that will do all
of the following with appropriate software:
• High resolution color graphics -
640 X 400, 16 colors
• High resolution monochrome graphics -
720 X 700
• Run software for IBM Monochrome Adapter
• Run software for IBM Color Graphics Adapter
Tecmar Inc. 6225 Cochran Road Solon (Clevel 2 ind), Ohio 44139-3377 Phone:(216)349-0600 Telex: 466692
1 Registered Trademark of the Lotus Development Corp. 2 Registered Trademark of the Redding Group Inc 3 Registered Trademark of the Metagraphics Corp.
CIRCLE NO. 19.S ON READER SERVICE CARD
ASlVi-86
Figure 8: Screen-writing Procedure
s^rocedure write_screen(char c-; byte att)p— —
:•■■- ■ %0UT ■ WRITE^SCREEN Z ■
WRITE_$CREEN PROC FAR
-.Write char with attribute & advance cursor,
-.noticing screen boundaries.
PROLOG <CHAR, ATTR> - .
-.Make sure BH contains current display page number '
INTFUN lOH.lS
MOV . . CL,AH ;Save the
;screen width-
;as well. '. '
Save CX away
because cursor
bounds get put
in it.
Restore screen '
width to CL
-.Get the arguments
■ j^4\
MOV DL.O
CMP ■. ■ DH,24 •
j ■ JNZ ' :■ :i
;If we*re here, have to set cursor & scroll the
-.window 1 1 ine up
-.Else go to left column
SSETNSCROLL: INTFUN
MOV
vNow do the scroll up
10H,2
■ At,I
-.First, set cursor . :■
jWant to scroll l-,line up
;Redd cursor position into DH, OL
PUSH
CX
10H,3
SSCROLL:
SFUNCRET;
SLFP: ■
MOV
. MOV
MOV
■ MOV
^M0V.
I NT
■ AH,6 ■ ■
DH,24 ■ ■-■.■■ ^.V :■■■■ ■
OL.CL ;Get the screen width
. CX.O
" 8H,07H ;Use normal blanks
lOH ;Execute pending function
EPILOG
jif we're here, just need to bump row number
SBUMPROW: ' INC ' OH ' ■
SSETNRET: MOV AH,2
JMP SFUNCRET
;Here‘s the carriage-return processing (with auto-line-feed).
GETVAL
AL.CHAR ;The character
SCRP: ■ MOV
DL.O
■ ^Take cursor to ^
GETVAL
BL.ATTR ;The attribute ■
’ ■ ^
-.left margin ■ ■■
handle special characters
CMP .
OH,24 ;Are we on last line?
CMP
AL.OAH ;A line feed?
JNE
SBUMPROW ;If no, bump row
JE
SLFP ;Must ignore them.
JMP
SSETNSCROLL ;else set cursor
CMP
■. AL.ODH - ;A carriage return?
^ ■ ■-=,& scroll :■■■.■
JE
: '/ scRp. ^--/ : . ■ -
%0UT_
;Otherwise write the char normally
PUSH CX ;Save the screen width
MOV CX.l char only ;
INTFUN 10H,9 ;Write char & attribute-:
■ ■■■■:' ' pop; cx
;Position the cursor for next char
INC OL
CMP 0L,CL ;Are we at EOL?
SSETNRET -.If not, set cursor
■ WRITE SCREEN
;procedure read_cpos(dpage: sint; var i, j, ctop, cbot: ;sint)
SYS’'" REA0_CP0S, lOH, 7, <BH, *DH, *DL, *CH, *CL> / > :
tines taken from this video support
package. Explanations of the mac¬
ros' functions will be given after¬
wards.
Non-Echoing Keyboard
Input (INTFUN)
The return conventions of the INT
16/ AH = 0 call that MS-DOS uses
for keyboard input make life unnec¬
essarily difficult. Instead of mapping
the function and special keys into
the 128+ high half of the ASCII
character set and returning a single
byte in AL, it returns 0 in AL and a
byte in AH; MS-DOS aids and abets
this by requiring a second key read
to detect the one keystroke. Macros
can be used to give Pascal an IN¬
KEY function that acts rationally
and serves as a real-world example
of the use of the simplest of these
macros, INTFUN (see figure 7).
Writing to the Screen
WITH A Highlight
(PROLOG/EPILOG)
Another poorly designed feature in
the BIOS is found in the code for
INT 1 OH / AH - 14 (WRITE_TTY),
line 4694 of the BIOS figure in the
Technical Reference manual (line
4965 in the revised version). If this
had read MOV AH, 9 WRITE_TTY
would use BL as a screen highlight
on the monochrome monitor as well
as on the color monitor (see figure
8). Note the use of "named" argu¬
ments and GETVAL; though this
example doesn't show it, PROLOG
also accepts register-name argu¬
ments that act in SYS below (see the
figure comments for details). Also
note that EPILOG need not be at the
physical end of the function text, as
long as all exits go through it.
Reading the Cursor
Position (SYS)
As you can see in figure 9, SYS calls
PROLOG and EPILOG to generate a
call to interrupt lOH, AH = 7 sur¬
rounded by stack fetches and loads
that bring the first argument of the
call into BH and load the results
(which live in the CX and DX pairs)
out to Pascal VAR arguments.
INTFUN is a simple straight-
line macro for calling in-ROM BIOS
functions. It's there mainly to be
used by SYS, which is a specialized
macro that uses PROLOG/EPILOG
for getting at the ROM and DOS
service routines. If you bracket an
assembler service routine with PRO¬
LOG and EPILOG they'll generate
the argument fetches and stores nec¬
essary to make it look like a Pascal
procedure or function.
Notice that the line EPILOG
MACRO REG is inside the scope of
the PROLOG macro definition. This
is an example of a macro-defining
macro. Each time PROLOG is ex¬
panded it redefines EPILOG.
This is necessary because of an
inconsistency in ASM-86. Angle-
bracketed argument lists are treated
like single arguments in macro
headers, but they can't be passed to
a symbol. The assignment
REGLIST = <AX, BX, CX, DX>
fails because a comma is defined to
180
PC Tech Journal
With A
HARD DISK + Single Slot.
Unleash your IBM-PC/XT with IDT's hard
disks and SCSI technology.
Innovative Data Technology is bringing unprecedented
power and virtually unlimited expansion to IBM-PC/XT
users. Our new SCSI (Small Computer Systems Interface)
hard disk subsystems put massive storage capacity at your
fingertips—from 11 to 126 MB in a single external drive.
With the capacity of configuring up to 14 drives through the
SCSI bus, that puts nearly two billion bytes of on-line
storage at your disposal.
Single slot expansion
Unlike most PC add-ons, IDT's SCSI hard disk subsystems
and other peripherals are connected through a single SCSI
host adapter on your PC—no additional expansion slots or
cards are necessary—future disks and other peripherals
and additional PC hosts are simply daisy-chained into the
SCSI bus.
Multi-user capability
IDT built the SCSI hard disk subsystem with multiple users
in mind. One, two, or more IBM-PCs can access disk drives
and other peripherals through the SCSI bus, allowing you
to build a sophisticated system tailored exactly to your
reguirements. 1 / 4 " STREAMING
BACK-UP
The options are yours tape subsystem
With IDT's SCSI host adapter board, future
expansion becomes a snap. Additional
peripherals, including an extensive line of
1/2-inch IBM-compatible magnetic tape
transports, are available for immediate
shipment from IDT. You simply don't
have to wait or worry about eguipment
compatibility with IDT components.
Watch for 1984 announcements of
streaming cartridge drives, printers, etc.
Tomorrow's solution today
IDT's SCSI host adapter and
SCSI hard disk subsystems
will answer your data
storage and system design
reguirements today. Contact
IDT for complete system configuration information and
details on other products.
How to order:
Using the chart to your right, you may order IDT hard disk
subsystems and SCSI host adapters by calling:
1-800-522-1500 Ext. 717
FOR IMMEDIATE ORDERS ONLY
Prices and availability subject to change without notice. No CODs. Send
cashier's check or money order. All other checks will delay shipping three
weeks. MasterCard and Visa accepted (include telephone number). Add
$12.00 for handling and shipping UPS ground within the continental U.S.
California residents add 6%. Approval needed on all returns. 0-10%
restocking charge on all returned merchandise.
For additional product or technical information please
call or write:
Successful and easy installation assured
Supplied with each component are the reguired cables,
complete software driver package and user language
instructions. The user manual will have you guickly running
and appreciating the many features of the subsystems, such
as guick automatic boot load of the operating system from
the IDT disk subsystem.
Satisfaction guaranteed
If not satisfied, the subsystems may be returned on approval
from IDT within a 10-day period. All subsystems and
components carry a six-month return-to-factory warranty on
parts and labor.
TO ADDITIONAL HOSTS
OR PERIPHERALS
IBM COMPATIBLE
1/2" MAGNETIC
TAPE SUBSYSTEM
DISK
SUBSYSTEM
Solutions
fOT^^MANi
PBPY
COMPONENT PRICING CHART
Model No.
Description
Storage Capacity
Price
RD20irM
Master Disk Subsystem
11MB
$2000.00
RD 2023M 1
Master Disk Subsystem!
23MB :
2550.00
RD 2035M
Master Disk Subsystem
35MB
2950.00
!RD2047M ■
Master Disk Subsystem
47MB
3150.00
RD 2r26M
Master Disk Subsystem
126MB
6840.00
RD 2011S
Slave Disk Drive
11MB
1560.00 i
RD 2023S
Slave Disk Drive
23 MB
2130.00
RD 2035S
Slave Disk Drive
35MB
2530.00
RD 2047S
Slave Disk Drive
47MB
2730.00
RD 2126S
Slave Disk Drive
126MB
6290.00 . ’
RD 8111H/A
IBM-PC/XT Host Adaptor
510.00
IDT 1/2" Magnetic Tape Subsystems
Consult Factory
IDT 1/4" Streaming Back-up Tape Subsystems
Consult Factory
Ordering
Example:
INNOVATIVE
data on the right track
TECHNOLOGY
P.O. Box 178160 • 4060 Morena Blvd. • San Diego, CA 92117
(619) 270-3990 • TWX: (910) 335-1610
CIRCLE NO. 215 ON READER SERVICE CARD
If your need is a 23MB Subsystem, your order
would consist of the following components:
1-RD 2023M @ $2550.00 + 1-RD 8111H/A @
$510.00 + Shipping & Handling @ $12.00 =
A Total Order of $3072.00 + tax (if applicable)
IBM is a trademark of International Business Machines Corp.
ASM-86
end an angle-bracketed quote. This
is documented, so it's a design error
rather than a bug. It means that any
time you want to pass one of these
lists out of a macro you'll have to do
so by defining another macro with
the list expanded inside it.
I call this trick lambda-passing
after a similar technique used in the
language LISP. Usually, as here,
you'll define a dummy with a nice
name that does nothing but call the
real receiving macro (ENDF) with
its arguments filled in. This lan¬
guage also needs an operator that re¬
places the symbol or expression fol¬
lowing it with its expansion or eval¬
uation. The percent sign does part
of this, but the documentation on it
is confusing; what it boils down to
is that it can be used only on num¬
eric-valued expressions appearing as
actual arguments to a macro call.
PROLOG calls ACOUNT to
count the number of each kind of
argument the generated routine will
have. It generates a frame pointer
save (see below), then calls INARG
on each argument to generate what¬
ever code is needed to access it,
using GETVAL and the EPILOG
needed to balance it. EPILOG calls
OUTARG to generate code for each
VAR argument (OUTARG in turn
calls SETVAR). Next it checks to
see if you wanted a function return;
if so it uses MOV ACC to put it in
the right place. Finally it generates
a frame pointer restore and the ap¬
propriate RET instruction.
GETVAL can be used directly
to fetch, off the stack and to a regis¬
ter in mid-routine, arguments that
PROLOG was not supposed to get.
Note that it doesn't fetch CONST
or VAR arguments, just their loca¬
tions. SETVAR can also be used di¬
rectly to store out VAR arguments.
These macros use the %OUT pseu¬
do-op to report on what they're do¬
ing. This is necessary, because
ASM-86 macro-expansion is fairly
slow on the PC. This makes it easier
to catch errors in calling sequence
specifications.
PC Tech Journal
BufldABetterPC
Universal Comm Adapter
ABM Superboard
With ABM's complete line of PC enhance¬
ment products, you can build a better PC.
ABM Superboard™ provides zero to 384K
bytes of RAM memory, serial port, parallel
port, IBM or Apple compatible game port,
and clock/calendar with battery backup
and external alarm feature. ABM Superset
utility software allows you to configure
part of memory for print spooling, so you can
continue computing while your printer is
busy, and for RAM disk, which emulates a
disk drive and dramatically increases your
productivity.
Omniboard™ provides up to two serial
ports, parallel port, clock/calendar with
battery backup, Apple compatible game
port, and Superset utility software.
MEM 512™ memory board provides 64K
to 512K bytes of field-upgradeable RAM
memory on a single board. ABM Superset
utility software is included.
Col-Mon™ ABM's color to monochrome
adapter permits display of full text and
graphics from the IBM PC color graphics
board on the monochrome monitor.
ICP Board™ Intelligent Communications
Processor is the leading edge solution
for remote PC to IBM mainframe communi¬
cations. Utilizing a Z80-B microprocessor
with 64K bytes of RAM memory to run 3274/
3276/3278 emulation software, it elimi¬
nates the need for an IBM cluster controller,
and maintains the host link during local
PC processing. ICP cluster capability allows
attachment of up to 12 more PC's, offering
unparalleled cost advantages.
Universal Comm Adapters ABM's dual
channel comm adapters can support
A5YNCH, BSC, SDLC, HDLC, X.25, and Other
communications protocols. 3270 SNA/5DLC
support for PS-5C2 is available from ABM.
Warranty All of ABM's products are
rigidly tested and burned in. This allows us
to offer a complete one-year warranty
at no additional charge. Check our features,
our quality-then ask your PC dealer for
Personality Series products from ABM Com¬
puter Systems.
Dealer and OEM inquiries welcome.
JBA
ABM Computer Systems
3 Whatney, Irvine, California 92714
(714) 859-6531 TWX 292427 ABM UR
Personality For Your PC
CIRCLE NO. 273 ON READER SERVICE CARD
HAm otm $a&$YSTEM
•to OR 20 MEOABYTE CAPACITY
•DOS 2.0 COMPATIBLE
•SYSTEM INCLUDES DRIVE INSTALLED
IN CABINET WITH POWER SUPPLY,
INTERFACE CARD FOR INSTALLATION
IN PC AND CONNECTING CABLES
10 MB-$1995 20 MB-$2295
BUS eXPANStON MODULE
DESERT
TECHNOLOGIES
RO. BOX 41628
TUCSON, AZ 85717
♦ DOUBLES THE EXPANSION BOARD
CAPACITY OF THE PC
♦ INTERFACES TO PC THRU SIGNAL. CON-
DITIONED CABLE ASSEMBLY WHICH
OCCUPIES A SINGLE SLOT IN PC
♦ SYSTEM INCLUDES CABINET WITH 6
SLOT BACK PLANE AND 4 OUTPUT
POWER SUPPLY, INTERFACE CARD
AND CONNECTING CABLE - $645
(602) 882-1741
CIRCLE NO. 142 ON READER SERVICE CARD
■nSu'
CIRCLE NO. 130 ON READER SERVICE CARD
P pOWEP
ASM-86
Speaking Other
Languages
These macros should be usable with
many languages other than Pascal-
86 with minor changes. In fact,
there are only three aspects of an
8088 compiler's argument-passing
conventions that are likely to vary
from this: stack argument order, the
context saved during routines, and
where return values are put.
Pascal-86, BASIC, and many
other compilers put arguments on
the stack as they're evaluated (left-
to-right) so that the last one on be¬
comes the first to be popped off.
This is the major complicating in¬
fluence on the PASCAL.MAC code;
in particular, it's the reason ARITY
has to be computed before any argu¬
ment-passing code can be generated.
Lattice C, on the other hand, pushes
its arguments in reverse order. This
allows them to be accessed in a
more natural way (it also helps that
C has only value arguments). The
analog of PASCAL.MAC for Lattice
C is thus simpler, and is left as an
exercise for the reader.
Most 8088 compilers require
only BP to be preserved during sub¬
routine execution (the instruction
set was designed in such a way that
BP is the only reasonable choice for
argument frame pointer). Thus the
PUSH BP in PROLOG and POP BP
in EPILOG should be sufficient. If a
compiler you're using requires
more, simply add PUSH and POP
instructions adjacent to the ones
already there in the macro. Almost
all compilers use their hardware's
accumulator (AL/AX on the 8088)
to pass back return values. Only
MOV ACC should need to be modi¬
fied if you run into an exception.
Macros offer a practical way of
automating the interface between
compiled languages and assembly
code. They enable you to keep your
application logic in a development
language while having maximum
control of the machine. I
184
PC Tech Journal
Assemblers + Macros vs. Macro-assemblers
The ASM-86 macro language is power¬
ful, but also clumsy and poorly de¬
signed in spots. Why isn't the design
cleaner? The main reason is simple his¬
torical inertia. Most assemblers have
been written by people such as hard¬
ware developers—people who are not
primarily language designers and tend
to be very conservative in their meth¬
ods. Their traditional way to write a
macroassembler is to do the code gen¬
erators and symbol-table maintenance
first, then graft a macro language on
top of it or as a pre-processing stage.
Most of the resulting macro languages
have been afterthoughts thrown to¬
gether to support a particular narrow
set of features (often one copied from
a previous assembler).
It's actually easier and better to
build the macro language first. As¬
sembler op codes and many data pseu¬
do-ops can then become macros that
take their operands as arguments and
expand into calls to one of a small
handful of machine-code generators,
one for each instruction class. The re¬
maining pseudo-ops can "expand" to
nothing, manipulating the symbol ta¬
ble as a side-effect.The macro expan¬
sion process supplies the entire control
structure of the assembler's first pass,
resulting in a tight, clean, and well-in¬
tegrated design. The macro features
will become terse and effective, be¬
cause the assembler writer will be us¬
ing them all through the expansions.
Many cross-assemblers (i.e., assem¬
blers that generate code for a different
processor than the one they run on)
are built this way, as are a few main¬
frame and minicomputer assemblers.
As micro-based software took become
more sophisticated this situation will
probably change.
— Eric Raymond
Listing 1: PASCAL.MAC
.XLIST
. ***********************************************************************
;PASCAL.MAC
;(C){P)Copyr1ght 1983 by Eric S. Raymond
; These macros are useful for generating ASM-86 routines that
; do stack-based argument handling, and can thus be treated like
; Pascal-86 or BASIC routines once declared in an interface or
EXTERNed to. Note that they must be PUBLICed and live in a
; SEGMENT PUBLIC PARA 'CODE' to be accessible to the linker.
; These macros should work correctly with any compiler that
; a) only requires BP to be saved during subroutine calls, and
; b) pushes arguments left to right (last given is last pushed).
;I) General service routines
; To generate a routine with a given profile of value and VAR
; args and a given service routine, write the following;
;[name3 PROC
; PROLOG <argl, argZ,...argn>, tr
; [service code]
EPILOG reg
;[name] ENDP
; If A stands for an accumulator name, argk may have the form
; A -- argument k is a value argument to be moved to A
; #A -- argument k is a CONST argument (input only)
; *A -- argument k is a VAR argument (output only)
; (?A -- argument k is a VAR argument (input and output)
; For these four cases, PROLOG fetches argument k to A and EPILOG
; automatically stores A to it (if it's VAR).
; If argk has none of these forms, it is simply equated to k
; in the assembler's symbol tables, and can be used with GETVAL,
; GETVAR, and SETVAR to give the effect of named arguments.
; If a register reg is specified, that register will be loaded
; into AL or AX (depending on length) just before exit and Pascal
; will see it as a return value. If reg is CY, AL will be loaded
; with 1 or 0 as the carry flag is on or off just before exit.
; Since the stack loads don't change the state of the flags, AL
; may pass out a VAR argument as usual before this.
; By default SI is used as a scratch register for locations of
; VAR arguments. This will lose if a VAR or CONST argument occurs
; after SI in the argument list. The optional second argument tr
; of PROLOG may be used to specify another scratch register; it
; may be SI, DI or BX and is passed to GETVAR and SETVAR.
;II) GETVAL, GETVAR and SETVAR
; The macros GETVAL reg, k and GETVAR reg, k will load a register
; from the kth value or location argument respectively. The macro
; SETVAR k, reg will store REG to the kth by-location argument.
; GETVAR and SETVAR take an optional third argument which sets
; the location scratch register as described above.
;III) WITHl, WITH2
; The macros WITHl and WITH2 allow any instruction that will take
the appropriate addressing mode to be applied to two operands,
one of which is a stacked argument represented by its name. For
example:
WITH2 CMP, AX, FOO
expands to CMP AX, [BP+X*2] where X is the stack offset of the
argument named by FOO. WITHl does this to its second argument,
so WITHl CMP, FOO, AX would be equivalent to the above.
IV) SYS function calls
A macro has been included for generating interfaces to the
PC's BIOS and DOS interrupt servers. With this macro,
SYS name, int, func, <argl, arg2,... argn>, reg, tr
generates source for a Pascal-accessible routine that executes
PROLOG, does an INT (int) with (func) in AH, and then does
EPILOG. Arguments in the bracketed list are loaded and returned
as in PROLOG/EPILOG. Optional args reg and tr are as above.
SYS will PUBLIC the generated function, though this won’t
be obvious in an .XALL listing since PUBLIC generates no code.
A**********************************************************************
.XCREF
INTFUN
MACRO
INTN, FUNCN
;;Call a BIOS function
MOV
AH, FUNCN
;; with given function number
INT
INTN
;; and given interrupt
ENDM
ACOUNT
MACRO
ARG
;;Counts arguments
IRP
REG, <AL,AH,BL,BH,CL,CH,DL,DH,AX,BX,CX,DX,SI,DI>
IFIDN
<ARG>, <REG>
If it's a value argument
INCT
= INCT + 1
bump the input argument count
EXITM
then exit the IRP
ENDIF
else continue list check
IFIDN
<ARG>, <#®>
If it's a CONST argument
INCT
= INCT + 1
bump the input argument count
EXITM
then exit the IRP
ENDIF
else continue list check
IFIDN
<ARG>, <*®>
If it's an output-only VAR arg
OUTCT
= OUTCT + 1
bump the output argument count
EXITM
then exit the IRP
ENOIF
else continue list check
IFIDN
<ARG>, <@®>
If it's a VAR argument
lOCT
= lOCT + 1
bump the input/output arg count
EXITM
then exit the IRP
ENDIF
else continue list check
LACT
= LACT + 1
It's a named argument
ENDM
End of IRP
ENDM
End of ACOUNT
GETVAL
MACRO
Z, N
;;
;Load Nth value arg to Z
MOV
Z, [BP+2*(ARITY-
-N)+6] ;
;Move parameter to register
ENDM
;End of GETVAL
GETVAR
MACRO
Z, N, T
;Load Z to Nth VAR argument
IFB
<T>
;
;If no transport reg specified
September i984
185
ASM-86
MOV SI, CBP+2*(ARITY'
-N)+6] ;; fetch parameter address
MOV Z, [SI]
;; and load to where it points
ELSE
;;Else transport register given
MOV T, CBP+2*(ARITY-N)+6] ;; fetch parameter address
MOV Z, [T]
;; and load to where it points
ENOM
;;End of GETVAR
INARG MACRO FML, K, TR
;;Generate stack fetch for arg K
;;First check the null case
IFB <FML>
;;If blank.
%0UT K : skipped
;; note: stack slot is skipped
EXITM
;; and exit INARG
ENOIF
;;End of blank check
;;Now look for a matching register argument
ISR = 0
;;No register match yet found
IRP REG, <AL,AH,BL,BH,CL,CH,OL.DH,AX,BX,CX,OX.SI,OI.SP>
;-.Handle value arguments
IFIDN <FML>, <REG>
;;If it's a value argument
ISR = 1
;; note that it matched
GETVAL REG, K
;; fetch it
XOUT K : VAL REG
;; and show it in the listing
EXITM
;; then exit the IRP
ENOIF
;; else continue list check
;;Handle CONST arguments
IFION <FML>, <#®>
;;If it's CONST
ISR = 1
;; note that it matched
GETVAR REG, K, TR
;; fetch Kth location arg
XOUT K : CONST REG
;; and show it in the listing
EXITM
;; then exit the IRP
ENOIF
;; else continue list check
;;Handle two-way VAR arguments
IFIDN <FML>, <@4REG>
;;If it's VAR
ISR = 1
;; note that it matched
GETVAR REG, K, TR
;; fetch Kth location arg
XOUT K : VAR REG
;; and show it in the listing
EXITM
;; then exit the IRP
ENOIF
;; else continue list check
;;Handle output VAR arguments
IFION <FML>, <*®>
;;If it's an output-only arg
ISR = 1
;; note that it matched
XOUT K : VAR REG (out
only) ;; show it in the listing
EXITM
;; then exit the IRP
ENOIF
;; else continue list check
ENOM
;;End of IRP
;;If no matching register arg, equate name to arg number
IFE ISR
;;No register argument match
FML = K
;-.Equate name to arg value
XOUT K : FML = K
;;Report the action
ENOIF
;;End of symbol check
ENOM
;;End of INARG
PROLOG MACRO ARGS, TR
-.Process input arguments
.XCREF ;
;Oon't need generated code to be CREFed
ARITY = 0 ;
-.Start with 0 total arguments
INCT = 0
-.Start with 0 input args
OUTCT = 0
-.Start with 0 output args
lOCT = 0 ;
jStart with 0 input/output args
LACT = 0
-.Start with 0 named arguments
IRP X, <ARGS> ;
;Count the flavors of arguments
ARITY = ARITY + 1
-, ARITY counts all four kinds
ACOUNT X ;
; Now count the individual kinds
ENOM
;End of argument count loop
PUSH BP
-.Save that frame pointer
IF INCT+IOCT+LACT ;
-,If there are input args
MOV BP, SP
; set up for stack access
C = 0 ;
; initialize argument count
IRP X, <ARGS>
; and loop through the argument list
C = C + 1
; using C to count from 1 to ARITY
INARG X, XC, TR ;
; generating stack fetches as we go
ENOM
-.End of argument-list processing loop
ENOIF
-.End of 'if there are input args'
EPILOG MACRO REG
;Generate EPILOG macro
ENOF <ARGS>. REG, TR ;
;Have it call ENOF with ARGLIST
ENOM ;
-.End of generated macro
.CREF ;
;Restore CREF
ENOM ;
-.End of PROLOG
SETVAR MACRO T
;-.Store Z to Nth VAR argument
IFB <T>
;;If no transport reg specified
MOV SI, [BP+2*(ARITY-N)+6] ;; fetch parameter address
MOV [SI], Z
;; and load to where it points
ELSE
;;Else transport register given
MOV T, [BP+2*(ARITY-N)+6] ;; fetch parameter address
MOV [T], Z
;-, and load to where it points
ENOM
-,;End of SETVAR
OUTARG MACRO K, FML, TR
;;Gen stack load for Kth VAR arg
IFNB <FML>
;;If blank, do nothing
IRP REG, <AL,AH,AX,BL,BH,BX,CL,CH,CX.OL,DH,OX>
IFIDN <FML>, <*®>
-,;If it's an output-only arg
SETVAR K, REG, TR
;; store to its location
EXITM
;-, then exit the IRP
ENOIF
;; else continue list check
IFIDN <FML>, <@®>
;;If it's a VAR argument
SETVAR K, REG, TR
;; store to its location
EXITM
;-, then exit the IRP
ENOIF
;; else continue list check
ENOM
;;End of IRP
ENOIF
;-,Skip if <ARG> is blank
ENOM
;;End of OUTARG
MOVACC MACRO REG
;;Gen code to move REG to AL/AX
XOUT REG value returned ;;Show it in the listing
IFDIF <RETREG>, <AX>
;-,Skip the rigamarole if it's AX
IFDIF <RETREG>, <AL>
;; likewise if it's AL
IRP X, <AH,CH,DH,BH,CL,DL,BL> ;-,Try 8-bit registers
IFION <REG>, <X>
;-,If REG is one
MOV AL, REG
;; then move it to AL
EXITM
;; then exit the IRP
ENOIF
;; else try the next one
ENOM
;;End of 8-bit register IRP
IRP X, <CX,OX,BX,SI,DI,BP,SP> ;;Try 16-bit registers
IFIDN <REG>, <X>
;;If REG is one
MOV AX, REG
;-, then move it to AX
EXITM
;; then exit the IRP
ENOIF
;; else try the next one
ENOM
-,;End of 16-bit register IRP
IFIDN <REG>, <CY>
;;Should carry flag be returned?
XOR AL, AL
;; If so, zero AL
RCR AL
;; and rotate in the carry bit
ENOIF
;-,End of carry bit processing
ENOIF
-,-,Skip here if RETREG was AL
ENOIF
;-,Skip here if RETREG was AX
ENOM
;;End of MOVACC
ENOF MACRO ARGS.RETREG.TR
-,Gen stack loads and RET for routine
.XCREF
;Don't need cross-referencing here
IF OUTCT + lOCT
;If there are output arguments
MOV BP, SP
; set up for stack access
C =0
; initialize arg ctr
IRP X, <ARGS>
; and loop through it.
C = C + 1
; using C to count from 1 to ARITY
OUTARG XC, X, TR
; generating stack loads as we go
ENOM
;End of argument list processing loop
ENOIF
;Now handle the return
IFNB <RETREG>
;If a return reg has been specified
MOVACC RETREG
; generate code to move it to AL or AX
ENOIF
;skip here if RETREG was blank
POP BP
-.Restore frame ptr
RET 2*ARITY
;Clean args off stack
XOUT
;Make spacing blank line in listing
.CREF
;Restore cross-ref'ing for next routine
ENOM
;End of ENOF
WITHl MACRO OP, K, ARG
-, ;Apply OP to
OP [BP+2*(ARITY-K)+6], ARG ;;Kth stack entry & ARG
ENOM
;;End of WITHl
WITH2 MACRO OP, ARG, K
;-.Apply OP to
OP ARG, [BP+2*(ARITY-K)+6] ;-,ARG & Kth stack entry
ENOM
-.-.End of WITH2
SYS MACRO NAME, INTN, FUNCN
, ARGS, REG ;;Gen SYS call interface
XOUT NAME ;
-.Let user know we're here
PUBLIC NAME
-.Make sure proc is accessible to Pascal
NAME PROC FAR ;
;Start of generated procedure
PROLOG <ARGS> ;
-.Count & fetch input arguments
INTFUN INJN, FUNCN ;
;Call the interrupt function
EPILOG REG
;Call the macro generated by PROLOG
NAME ENOP ;
-.End of generated procedure
ENOM
-.End of SYS
.LALL
.CREF
.LIST
186
PC Tech Journal
^ ^ f i^imm mm *m»
\m ’ **^ t m%m'm mm ♦*»
sm mm \my,m'mm m'>tmm
im 'tim*m'^'.m* im
ym ': *** mm m,m',///M0//„M//‘y, m/ /'
‘.m wm ‘vm >. mm vm i mm vm i m immim % mmi^
nu i* MU m mvi mm m 'mm m ftm
'/m %m *, mm\ ^ mti -urn
mmmm*
mim^
urn If u*ff m im
im i'^',4m>,m - .
im mmummimtummi-
im
0tf m m
im mn-ii>*i' 0 ^nmit' im
im
im-*-
tm ' *M' mm iwm *>m '' '
im \*t n uif ^mtm*.mnt
mpM.
u m0 tm^,
".tm T» n^i m»
m0 im
m m *tmm imum^oMm
S^s
y^m^m
\m p i*m i^uaum m* u^-umm
im if x^rnmim im im »*»»f* f» mmf
im fm» * u-t* frt;*u^ wfm
tm *u
PC Tech Journal Program Listings on Diskette.
T hat’s right! ’Vbu don’t have to
type in detailed program listings
from this Sept, issue. "Von can order
CALL TOLL-FREE 1-800-526-0790
New Jersey residents: (201-540-0445)
OR MAIL COUPON BELOW
them on a LISTING DISKETTE"
from PC Tech Journal. And on the
same diskette you’ll also receive the
program listings for last month’s issue.
Certain listings require use of
other material (e.g. Pascal compiler).
Please consult relevant article in
magazine.
For your added convenience, we
also offer two other LISTING
DISKETTES from previous issues.
They’re all listed in the coupon. To
order, simply fill it out. Charge-card
customers can also use our toll-free
telephone numbers. (Sorry, no C.O.D.
or “bill me” orders.)
'U PC TECH JOURNAL
ra'-vm-iK l A 1 Listing Diskette Service
OURNAL 39 East Hanover Avenue
Morris Plains, NJ. 07950
Please send me the following Listing Diskettes:
□ No. 5—Aug. & Sept. ’84 issues.$19.95
□ No. 4—June & July ’84 issues.$19.95
□ No. 3—Apr. & May ’84 issues.$19.95
Total $_
□ Check Enclosed
□ MasterCard
No_
Signature-
Name_
Company.
Address_
City-
□ Please charge my credit card:
□ Visa □ American Express
_Expiration Date_
- State _
-Zip-
Pleasc allow approximately four to six weeks for delivery. j
LEGAL BRIEF
Max Stul Oppenheimer
Computer Crime
Three lessons from criminal law
M aximal use of the legal sys¬
tem often requires making le¬
gal tools that were designed for one
purpose serve another,- likewise, ob¬
taining adequate comfort with a
proposed project may require analy¬
sis of legal principles that at first
glance seem wildly inapposite.
What follows are recent develop¬
ments in criminal law that may ap¬
ply to computer users even if they
don't consider themselves criminals.
And SO: a warning, a tool, and a
marketing survey.
A Warning
Many computer stores offer elec¬
tronic bulletin boards at no cost to
their customers. According to a re¬
cent survey (I called the owner of a
store), such boards are great for
public relations, require no hard¬
ware that wouldn't be in stock any¬
way, take little attention, and are
risk-free as long as comments about
third parties are mildly edited.
My survey respondent, how¬
ever, had not seen a message on the
local board alleging that the opera¬
tor was served with a search war¬
rant and his system seized "because
of a message that had been left, un¬
known to [the operator], on one of
the public boards." More details
were provided in the Los Angeles
Times report of the incident. Ac¬
cording to the Times, an ATStT
credit card number had been posted
anonymously on the board. Pacific
Bell obtained a search warrant and
seized both hardware and the disks
containing the bulletin board mes¬
sages. A California statute makes it
a misdemeanor to publish a credit
card number with the intent or rea¬
sonable knowledge that it will be
used to avoid phone charges.
Within the same month, TRW
Information Systems reported that a
password to its credit files had been
posted on an electronic bulletin
board. The bulletin board has not
yet been located, but TRW has
changed its password.
If either systems operator is
ever charged, a court will have to
resolve hard questions—is the oper¬
ator an aider and abettor if his
board is used to facilitate criminal
activity, or is he simply a passive
conduit like the phone company? If
he could be considered an aider and
abettor, then where is the line
drawn? Hasn't the author of the
communications package helped,
too? What about the manufacturers
of the modem and computer?
The court would have to decide
whether systems operators should
be censors of the contents of their
users' communications and whether
users of electronic communications
have any right to privacy of their
communications.
A Tool
Title 19 1526(a) of the United
States Code prohibits importing
merchandise into the United States
"if such merchandise, or the label,
sign, print, package, wrapper, or re¬
ceptacle" bears a federally regist¬
ered trademark that has been filed
with the Treasury Department.
Title 19 1526(e) provides for the sei¬
zure of merchandise bearing coun¬
terfeit marks. As part of its effort to
protect the Apple logo and copy¬
rights, Apple Computer registered
with U.S. Customs (an agency of
the Treasury Department) and pro¬
vided technical assistance and coop¬
eration in detecting illegal imports.
The efforts culminated in indict¬
ments of six individuals and five
companies, and, to date, one jail
sentence. IBM has recently instit¬
uted a similar program.
A Marketing Survey
The American Bar Association
didn't set out to do a marketing sur¬
vey—it wanted to know how the
Fortune 500 and several specific in¬
dustries and government agencies
were affected by and dealing with
computer crime. In the process,
however, it produced perhaps the
best marketing survey to date on
the potential demand for computer
security products and services.
The survey's purpose was to in¬
vestigate "the nature of computer
crime, its causes, its perpetrators, its
victims, its effects, and how its oc¬
currence can be prevented or dimin¬
ished"—a tall order for 283 re¬
sponses to a 12-page survey.
Computer crime, as defined in
the American Bar Association sur-
Max Stul Oppenheimer is a partner in the
law firm of Venable, Baetjer, and Howard in
Baltimore.
188
PC Tech Journal
LEGAL BRIEF
vey, includes '^criminal activities di¬
rected against computers and their
components, criminal activities
which use computers or their com¬
ponents as instruments to perpetrate
crime, and other activities involving
computers which, while they may
not constitute 'crimes' in the strict
legal sense, nevertheless amount to
abuse which perhaps should be de¬
clared illegal."
Seventy-two respondents re¬
ported having sustained, in the ag¬
gregate, "known and verifiable
losses . . . during the last twelve
months" of between $145 million
and $730 million (the large gap re¬
sults from the wording of the sur¬
vey, which asked for estimates of
ranges of losses). On the other hand,
125 respondents reported no
"known and verifiable losses," and
78 reported having no way to tell.
An overwhelming majority of
the survey respondents said that the
responsibility for controlling com¬
puter crime rested with the private
sector rather than with the govern¬
ment, and only a small percentage
said that the responsibility was that
of the manufacturers. Again by a
wide margin, the "most effective
means of preventing and deterring
computer crime" was deemed to be
"more comprehensive and effective
self-protection by private business."
The ABA survey certainly dis¬
pels any doubt about the existence
of an enormous market for com¬
puter security services and products.
Marketing people should be very in¬
terested in the following statistics
(the whole report is available for $5
from the ABA, Section of Criminal
Justice, 1800 M Street, N.W., Wash¬
ington, D.C. 20036):
1. The most significant types of
computer-related crime (ranked
by the number of respondents
identifying the type as "signifi¬
cant"—the respondents had been
asked to rate the significance of
each type, but a large number of
them "did not interpret the ques¬
tion correctly"). Those that got
more than 100 votes:
a. Use of a computer as an in¬
strument in the theft of assets
(241 votes)
b. Destruction or alteration of
data (221 votes)
c. Use of a computer as an in¬
strument in embezzlement
(203 votes)
d. Destruction or alteration of
computer software (190 votes)
e. Use of a computer to commit
fraud against consumers, in¬
vestors, or users (184 votes)
f. Theft of computer software
(178 votes)
g. Unauthorized use of a com¬
puter for personal program¬
ming activities (140 votes)
Run More Than One Program With:
^ MULTI-JOB
^ FOR THE IBM
PERSONAL COMPUTER AND XT
* No special hardware is required (except memory).
* Multiple programs can run concurrently using PC DOS.
* Programs can be run simultaneously or one at a time.
* Up to 9 separate jobs.
* Free 30-day trial period.
* Have a true multi-user system with the MULTI¬
TERMINAL-MONITOR (MTM) option.
* More cost effective than buying a second machine.
MULTI-JOB $159.00
Gives you multi tasking using PC DOS.
MULTI-JOB/MTM PACKAGE $295.00
Gives you multi tasking and multi users using PC DOS.
ELECTRONIC DISK $ 49.00
Creates one or more super fast disk drives from memory.
SPOOL PROGRAM $ 24.00
Will redirect printing to memory.
SET MEMORY UTILITY $ 24.00
Allows you to set the effective size of memory without
removing the cover or changing any switches.
PC CALCULATOR $ 35.00
Turns your computer into a calculator.
EXCITING NEW DISCOVERY! Have you ever had the need
for a letter quality printer? They are nice to have, but cost from
$600 to $3000. Although many of them allow different type
styles and fonts, changing fonts requires changing the physical
head on the machine. The FANCY FONT PROGRAM allows
different typestyles and font types and is printed by a stan¬
dard IBM graphic printer. Available now for $179.00
B&L COMPUTER CONSULTANTS, 7337 Northview, Suite B,
Boise, ID 83704, (208) 377-8088.
Dealers inquiries are welcome. Call or write for a free catalog.
CIRCLE NO. 153 ON READER SERVICE CARD
September 1984
189
LEGAL BRIEF
h. Use of computer as an instru¬
ment for sabotage (123 votes)
i. Theft of raw output data
(110 votes)
2. The most common crimes in
which a computer, its compo¬
nents, or its output was the ob¬
ject of the crime (ranked by
number of occurences during the
most recent 12-month period):
a. Thefts of computer software
(45 votes)
b. Thefts of computer hardware
(43 votes)
c. Destruction or alteration of
data (23 votes)
d. Destruction or alteration of
computer software (23 votes)
e. Thefts of raw output data
(22 votes)
f. Thefts of input data
(12 votes)
g. Destruction or alteration of
computer hardware (10 votes)
h. Thefts of coded output data
(7 votes)
3. The most common perpetrators
(where known):
a. A computer programmer or
“software personnel"
(67 votes) ^
b. A nonsupervisory computer
operator (42 votes)
c. Nonsupervisory personnel not
directly involved with com¬
puters (40 votes)
d. An individual with no prior
relationships with the organi¬
zation (37 votes)
e. An outside consultant
(22 votes)
f. A computer operations super¬
visor (22 votes)
g. An executive or manager not
directly involved with com¬
puters (21 votes)
h. A competitor (16 votes)
i. A customer or a client
(11 votes)
4. The most common crimes in
which a computer was an instru¬
ment in the perpetration of a
crime (ranked by number of oc¬
currences during the most recent
12-month period):
a. Unauthorized use of com¬
puter for personal program¬
ming activities (63 votes)
b. Thefts of assets, tangible or
intangible (44 votes)
c. Embezzlement (22 votes)
d. Fraud against consumers, in¬
vestors, or users (14 votes)
e. Sabotage (13 votes)
f. Extortion or blackmail
(5 votes)
The survey notes that many re¬
spondents seemed to be asking
“Why don't companies that design
or manufacture computer systems
pay more attention to security fea¬
tures in the design stage? Why
don't companies (and government
agencies) invest more in computer
security, research, and usage?"
There appears to be a large market
that is waiting for companies to an¬
swer those questions. um—i
Use ALL the Power of Your
MS-DOS, IBM PC-DOS, or CP/M-80 System
with UNIX-Style Carousel Tools
ch “CP/M” “MS-DOS”<doc>newdoc
diff newdoc doc I more
ed newdoc
kwic newdoc I sortmrg I uniq I unrot >index
make -f makdoc ndx
Carousel Tools and Carousel ToolKits are trademarks of Carousel
MicroTools, Inc. CP/M is a trademark of Digital Research; IBM is a
trademark of International Business Machines; MS is a trademark of
Microsoft; UNIX is a trademark of Bell Laboratories.
CAROUSEL TOOLS are a proven set of over 50 programs
designed to be used with pipes, redirected I/O and
scripts. In the style of UNIX each Tool does one thing
well, and the Tools can be used together to do more
complex tasks.
YOU ACCOMPLISH MORE using Carousel Tools: better
programming and documentation support, simpler
data and file housekeeping, more general file
handling.
TOOLS FOR PC/MS-DOS 2.x AND CP/M-80 are available
now. The DOS ToolKit is $149. The CP/M ToolKit is $249
and includes a shell to provide pipes, redirected I/O,
and scripts. Source code is available for $100 more.
ORDER YOUR TOOLKIT TODAY.
CIRCLE NO. 113 ON READER SERVICE CARD
CALL OR WRITE:
^CAROUSEL MICROTOOLS, INC.
609 Kearney Street, El Cerrito, CA 94530 (415) 528-1300
the
RTool
Experts need expert tools. The correct tool, close at hand, saves
you time and gives you the leverage to get results fast.
RTool is a new concept in programming aids, a powerful set of
resident general purpose tools that you can awaken
with a single keystroke. RTool eliminates the need for manuals,
scratchpaper, and printouts, saving you time when time is money.
And, like any good tool, RTool is easy to use.
Use RTool to capture and save screen images, scan and load disk
files, and access on-line help. Create and save keyboard
macros. Submit block text to the keyboard. List, rename, and
delete files. Change directories. And much more. All with a
few keystrokes. Even when another program is being used.
RTool closes the loop between the keyboard, display, and disk
drives, letting them communicate with each other in a
simple and consistent way. Think of RTool as a set of
powerful new
features for every
program you own.
Available for the PC/XT,
PCDOS 1.1/2.0. Write
for free literature
^ or a demo disk ($15).
BitWit SoftWSrG special introductory
3790 El Camino Real, #205 offer: both DOS versions $149
Palo Alto, CA 94306 ($l58inCA).
415/494-2611
CIRCLE NO. 274 ON READER SERVICE CARD
DIRECTORY
COMMAND
SYSTEM
for the
IBM PC & XT
Which would you prefer?
THIS
A>
THIS
— Designed
with the
“New User”
in mind
— A must for
Hard Disk
systems
— Compatible
w/DOS 1.10
and 2.00
Idir replaces the DOS prompt with an interactive command system that
eliminates the need to type commands and/or filenames to the command line.
Files are accessed and programs are executed by positioning Idir's scrolling
FILE and COMMAND CURSORS, and pressing <ENTER> Controlled by the arrow
keys, the CURSORS are easy to use “pointers.”
P.O. Box 2867, Boise, ID83701, (208) 342-5849
Suggested Retail Bourbafei Inc \/
* 95.00 7 €
PROGRAMMER’S
DEVELOPMENT TOOLS
AND ACCESSORIES
IBM Personal Computer
Language and Utility Speciaiists
OPERATING SYSTEMS:
Concurrent DOS DRI NEW $350 CALL
Concurrent CP/M-86 DRI Multitasking 350 239
Unx-ll IDS Requires 10 MB hard disk 895 CALL
Cali for CP/M-86 products
r
*** X-Shell ***
by Standard DataCom
Bring Unix-like Capabilities
to your PC
Make more effective use of your
valuable programming time.
Manufacturer List $225 Our Price $205
LANGUAGES:
Lattice C Compiler
500
295
ADA-86 - 1 - Tools Janus
700
499
C-86 Computer Innovations
395
319
DeSmet C Compiler with Debugger
159
145
Professional BASIC Morgan Computing
345
295
Assembler w/Z-80 Translator 2500 AD
100
89
Call for Microsoft and Digital Research Products
“C" Language Starter Kit
Package Consists of:
DeSmet C Compiler w/Debugger $159 145
Windows For C Creative Solutions 150 119
AKA ALIAS Soft Shell Technology 60 57 !
C Programming Language |
1 book by K&R 25 20
Retail $394, Priced Separately $341
Our Special Package Price $329!
STSC APL*Plus/PC
We can support you!
Complete demonstration package with
diskette for $5, refundable with purchase.
Total APL system including character
1 generator chip.
Manufacturer List $595 Our Price $540
1
UTILITIES:
CodeSmith-86 Debugger Visual Age
$145
129
Profiler DWB & Associates
175
149
Btrieve SoftCraft
245
205
Windows for C by Creative Solutions
150
119
Translator APC PC BASIC to MEGABASIC
195
175
OPT-TECH Sort High Performance Utility
99
87
C Functions Lib. by Greenleaf Software
175
159
Float-87 8087 Software Support
125
99
Panel Screen Design/Editing
350
234
C-Food Smorgasbord
150
110
Halo Color Graphics for Lattice. CI-86
200
125
Plink-86 Overlay Linkage Editor
395
310
MetaWINDOW USA-Like Windows for PC
150
139
64K MEMORY:
64-K Memory Chip Kits w/instructions
100
55
Mi l Visa/MC
■■■i [ Wirj NO EXTRA CHARGE
Account is charged when order is shipped
Prices are subject to change without notice
CALL FOR LOW PRICES
1 - 800 - 336-1166
Programmer’s Connection
281 Martinet Drive
Kent, Ohio 44240
(216) 678-4301 (In Ohio)
Programmers Serving Programmers
CIRCLE NO. 108 ON READER SERVICE CARD
CIRCLE NO. 226 ON READER SERVICE CARD
TECH RE
Hardware, software,
and other developments
for the PC
PC-9 Track
HARDWARE
Further price reduc¬
tions have been announced
by IBM, which, already has
lowered its prices on the Por¬
table PC and PC/r and intro¬
duced less expensive versions
of the PC and PC/XT. The
cost of the XT 370, model
568, was dropped by almost
$500 to $6,230. Model 588,
which has a 10-megabyte
fixed disk, was reduced by
$900 to $8,085. IBM also low¬
ered the price of the 3270,
model 2, with 256K memory,
display adapter, disk drive ad¬
apter and keyboard adapter,
from $4,290 to $3,785; model
4, with 384K and model 2
features plus a printer adapt¬
er, from $5,319 to $4,650;
and model 6, with 384K and
fixed disk adapter, from
$7,180 to $6,210.
IBM
To locate your nearest au¬
thorized dealer or product
center, call 800-447-4700.
CIRCLE 450 ON READER SERVICE CARD
The Microperipheral
Corporation has an¬
nounced a portable modular
telephone jack attachment
for computer telecommunica¬
tions. Called The BLACK
JACK, the product permits
use of computerized telecom¬
munications in locations that
do not have modular (RJllC)
phone jacks. It also elimi¬
nates the loss of line sensitiv¬
ity associated with the use of
acoustical couplers. The
BLACK JACK is constructed
of rubber with a built-in cir¬
cuit card and modular jack.
Its unique connectors make
it compatible with single- or
multi-line telephone hand¬
sets. $49.95.
The Microperipheral
Corporation
2565 152nd Avenue N.E.
Redmond, WA 98052
206-881-7544
CIRCLE 451 ON READER SERVICE CARD
The BLACK JACK
A magnetic tape subsystem
for PCs called PC-9 Track
has been introduced by
Alloy Computer Prod¬
ucts. PC-9 Track includes
an intelligent interface that
utilizes a Z-80 microprocessor
and proprietary firmware to
provide data transfer between
a PC and a mainframe-com¬
patible 9-track tape drive
with an embedded formatter.
The subsystem has up to 42
megabytes of back-up and
working storage and provides
high-speed disk-to-tape trans¬
fer at rates of .7 Mbytes per
minute. $6,595.
Alloy Computer Products
100 Pennsylvania Avenue
Framingham, MA 01701
617-875-6100
CIRCLE 456 ON READER SERVICE CARD
The Toaster Plus storage
subsystem from XCOMP
offers the 2.78-megabyte
SuperFloppy Drive, which
provides 3.33-megabyte (un¬
formatted) storage capacity
and 3-millisecond track-to-
track performance in a com¬
pact, half-height 5 ^4-inch
minifloppy format. A propri¬
etary track-following servo
system ensures accurate, on-
track read/write head posi¬
tioning. The system has a
transfer rate of 500 kilobits
per second. $3,995 for one
SuperFloppy Drive plus 15-
Mbyte (formatted) hard disk.
$4,995 for one SuperFloppy
drive and 31.5-megabyte (for¬
matted) hard disk.
XCOMP
3554 Ruffin Road South
San Diego, CA 92123
619-5730077
CIRCLE 459 ON READER SERVICE CARD
Toaster Plus
Kamerman Labs has an¬
nounced a new inexpensive
10-megabyte hard-disk sys¬
tem that stores 12.76 Mbytes
unformatted and 10 Mbytes
formatted. The Mega¬
flight 100 uses the DOS
2.0 or 2.1 software drivers
and typically requires no ex¬
ternal power supply. The sys¬
tem includes a hard-disk
drive, the disk controller card
with plugs and cables, and a
manual. $895.
Kamerman Labs
7787 S.W. Cirrus Drive
Beaverton, OR 97005
503-626-6877
CIRCLE 455 ON READER SERVICE CARD
A series of Winchester disk
subsystems that features
compatibility with all IBM
PC, XT, and compatible
hardware, software, and
192
PC Tech Journal
peripherals has been intro¬
duced by Data Technolo¬
gy Corporation. The
TeamMate 1000 Series
includes four models: Team-
Mate 1110 (10-Mb internal
Winchester); TeamMate
1210 (10-Mb external Win¬
chester); TeamMate 1232 (32-
Mb external Winchester);
and TeamMate 1213 (10-Mb
Winchester coupled with a
Kodak 3.3 flexible 5^/4-inch
drive). All models feature
full transparency with DOS
2.0 and all are FCC Class B
approved. Installation takes
only minutes and requires no
special diskettes, software
drivers, or formatting pro¬
grams. Price for model 1110:
$1,495; model 1210: $2,095;
model 1232: $3,395; model
1213: $2,795.
Data Technology
Corporation
277S Northwestern
Parkway
Santa Clara, CA 95051
408-496-0434
CIRCLE 460 ON READER SERVICE CARD
Subsystem in the TeamMate 1000 Series
The LaserJet Printer
from Hewlett-Packard
provides letter-quality output
quietly and quickly: it regis¬
ters a noise level of less than
55 decibels while printing,
and it is eight times faster
than a typical daisy-wheel
printer. The printer is com¬
patible with major existing
software packages, such as
Lotus 1-2-3, Multimate,
WordStar, etc. It offers reso¬
lution of 300 by 300 dots per
inch, producing print quality
nearly indistinguishable from
copy produced on electric ty¬
pewriters. Numerous differ¬
ent fonts are available in
plug-in cartridges; up to four
typefaces can be mixed on
one page. $3,495 with built-
iji sheet-feeder and standard
RS-232-C interface.
Hewlett-Packard
3000 Hanover Street
Palo Alto, CA 94304
408-973-7648
CIRCLE 457 ON READER SERVICE CARD
The PCX, a personal com¬
puter expander kit, has been
introduced by NCR In¬
dustrial Systems. PCX
consists of an inexpensive
terminal-communications
card, a software driver, a
demonstration program, and
an NCR 2840 Data Collec¬
tion Terminal. The terminal
includes a 3-of-9 bar code
wand, an alphanumeric key¬
board, a 16-character display,
and an optical badge reader.
On the communications card
are an optically isolated
RS-422 port, an RS-232-C
port, and a timer. With su¬
perior common-mode noise
rejection and true ground iso¬
lation between the PC and
the terminal network, the
RS-422 driver can support as
many as 32 devices at dis¬
tances up to 4,000 feet. Com¬
munication takes place at
9,600 bps. An IBM with
MS-DOS and R/M COBOL is
required for the demonstra¬
tion program. $2,500.
NCR Corporation
584 S. Lake Emma Road
Lake Mary, FL 32746
305-323-9250
CIRCLE 462 ON READER SERVICE CARD
A new graphics adapter
board from STB Systems,
Inc-STB GRAPHIX
PLUS II— supports both
RGB color and monochrome
displays, switching the dis¬
play to the appropriate moni¬
tor automatically. The board
is configurable as a color
graphics and/or mono¬
chrome/printer adapter. A
full-screen monochrome
graphics driver and a 16-color
driver are included in the
package. $495.
STB Systems, Inc.
601 N. Glenville
Suite 125
Richardson, TX 75081
817-732-7307
CIRCLE 452 ON READER SERVICE CARD
STB GRAPHIXS PLUS II
The Peripheral Auto¬
matic Channel Emu¬
lator (PACE) from Data/
Ware Development,
Inc. converts an IBM PC
into an IBM Channel Simula¬
tor that can be used to per¬
form factory system testing,
design, or "in-field diagnos¬
tics" of IBM or IBM-compati¬
ble peripherals. PACE can op¬
erate at a variety of channel
speeds, including data
streaming rates (3.0 mega¬
bytes per second). Features of
the package include a bus/
tag IK trace buffer—which
may be set to store data pre-,
post-, or mid-trigger when a
preselected channel state is
matched—a microprogram
September i984
193
breakpoint, and single-step
capability. $12,800.
Data/Ware
Development, Inc.
4204 Sonento Valley Blvd.
San Diego, CA 92121
619-453-7660
CIRCLE 453 ON READER SERVICE CARD
Epson has announced two
new dot-matrix printers de¬
signed specifically for OEMs
and system integrators. The
CTM F-lOO and the CTM
F-80 print at 160 CPS and
feature high-resolution print
characters, multiple print
modes, universal power sup¬
ply, extended character sets,
and 20 percent greater
throughput than the com¬
pany's FX series. The CTM
F-lOO prints 136 columns,- the
CTM F-80 prints 80. CTM
F-lOO: $500. CTM F-80: $370.
Epson OEM Products
Division
3415 Kashiwa Street
Torrance, CA 90505
213-533-8277
CIRCLE 458 ON READER SERVICE CARD
A new data communications
product from Complexx
Systems allows three com¬
puters and/or peripherals to
share a single dial-up line si¬
multaneously. TriMux.212
incorporates a three-channel
statistical multiplexer with
an auto-dial/auto-answer Bell
212A modem. Users can
choose from three modes of
operation. First, data from
three devices can be multi¬
plexed onto a regular dial-up
call. Second, when the com¬
puters and peripherals are
not using TriMux.212 as a
concentrator, any of the de¬
vices can individually access
and use the modem to call
any other 212A modem. Fi¬
nally, the three local devices
can access and communicate
with one another through a
local data switch. $1,495.
Complexx Systems, Inc.
4930 Research Drive
Huntsville, AL 35805
205-830-4310
CIRCLE 463 ON READER SERVICE CARD
TriMwc.212
Microscience Interna¬
tional Corporation has
introduced a 3.5-inch half¬
height Winchester disk drive
with a full 10 Mb of format¬
ted storage. The HH-312
will interface with all micro
systems using the computer's
own power supply. It has an
unformatted capacity of
12.76 Mb per drive and a
data transfer rate of 5 Mb per
second; average access time is
70 milliseconds. A propri¬
etary closed-loop servo posi¬
tioning system is used to mi¬
crostep the heads to the exact
center of the data track. The
HH-312 uses a single PCB in
place of a multiboard system,-
reliability is improved
through the use of LSI cir¬
cuitry that eliminates be-
tween-board interconnects.
Under $900 for OEMs.
Microscience International
Corporation
575 E. Middlefield Road
Mountain View, CA 94043
415-961-2212
CIRCLE 461 ON READER SERVICE CARD
An add-on circuit board
called the jr-87 has been an¬
nounced by TIAC Manu¬
facturing, Inc. This
board permits the high-speed
8087 Numeric Data Proces¬
sor to be plugged into the
PC/r. The board does not in¬
terfere with the operation of
the PC/r's peripherals and
does not modify the PC/r in
any way. The 8087 operates
at the same speed on the
PC/r as it does on the PC.
Software designed to run
with the 8087 on the PC
will run with no modifica¬
tions on the PC/r. $89.95.
TIAC Manufacturing, Inc.
3084 Spring Street
Port Moody, British
Columbia
Canada V3H 1Z8
CIRCLE 454 ON READER SERVICE CARD
ir-87
The Electronic Disk
from Distributed Logic
Corporation is a fast
floppy drive emulator for the
IBM PC. Its maximum useful
displacement is 360K, and it
may be formatted as an
eight- or nine-sector disk.
The board plugs into any
I/O slot in the PC or XT and
requires no software installa¬
tion. The Electronic Disk can
be 62.5 times faster than a
floppy disk. $995.
Distributed Logic
Corporation
12800 Garden Grove Blvd.
Garden Grove, CA 92643
714-534-8950
CIRCLE 464 ON READER SERVICE CARD
194
PC Tech Journal
Omnis 1, Omnis 2, and Omnis 3
SOFTWARE
A multitasking system has
been developed for the IBM
PC by Digital Research,
Inc. The product, Con¬
current PC-DOS, allows a
PC to run four PC-DOS or
CP/M application programs
at the same time. It has a
window capability, enabling
the user to view the execu¬
tion of all four applications
simultaneously. Several pro¬
ductivity tools are included
as part of the Concurrent PC-
DOS package, including
Print Spooler, which allows
users to queue documents to
be printed while other tasks
are printed; and Rolodex, a
sorting and searching pro¬
gram for lists of names and
addresses. Concurrent
PC-DOS has a two-user fea¬
ture for use primarily as a re¬
mote dial-up link. $295.
Digital Research, Inc.
160 Central Avenue
Pacific Grove, CA 93950
m-649-3896
CIRCLE 472 ON READER SERVICE CARD
IBM has redesigned the
Technical Reference
Manuals for the PC,
PC/XT, and Portable, updat¬
ing all technical information
on the computers' features
and options. The revised
manuals include three new
publications—one that con¬
tains information unique to
an IBM PC system, one for
the PC/XT and Portable PC,
and a third reference that in¬
cludes information common
to all PC family products, in¬
cluding adapters and I/O de¬
vices. With the Options and
Adapters manual, IBM will
provide an Update Informa¬
tion Service through June
1985. Prices: The IBM Person¬
al Computer System Techni¬
cal Reference Manual, $30;
The IBM Personal Computer
XT/Portable Personal Com¬
puter Technical Reference
Manual, $30; The IBM Per¬
sonal Computer Options
and Adapters Technical
Reference, $125.
IBM
P.O. Box 1328
Boca Raton, FL 33429-1328
305-998-2000
CIRCLE 466 ON READER SERVICE CARD
A series of three database
programs for microcomputers
has been introduced by
Organizational Soft¬
ware Corp. The programs
become progressively more
comprehensive, and they can
be upgraded as needed.
OMNIS 1, The File
Manager is designed for
first-time users and is capable
of handling basic information
management tasks such as
mailing-list maintenance,
time management, and dia¬
ries. OMNIS 2, The In¬
formation Manager
builds on the capabilities of
OMNIS 1, offering multi¬
screen records with up to 120
information items per record,
performing calculations on
records, and providing search
and retrieve facilities with
full logical operators. OM¬
NIS 3, The Database
Manager supports up to 12
open files at once, operates as
a relational or hierarchical
database system, and gener¬
ates complete turnkey sys¬
tems. OMNIS 1, $95; OMNIS
2, $195; OMNIS 3, $295.
Organizational
Software Corporation
2655 Campus Drive
Suite 150
San Mateo, CA 94403
415-571-0222
CIRCLE 469 ON READER SERVICE CARD
ColorScreenPrint, a
software utility that increases
the color capabilities of the
IBM Color Printer, has been
introduced by Applica¬
tion Techniques. With
ColorScreenPrint, the user
can choose from 16 standard
colors or thousands of user-
defined colors. Any graph
that can be displayed on an
IBM PC color display adapter
can be printed at any size up
to 13 inches at any position
on the paper.
Application Techniques
80 Townsend Street
PeppereU, MA 01463
617-433-5201
CIRCLE 477 ON READER SERVICE CARD
Three programs that are
meant to aid photographers
in the darkroom are now
available for the IBM PC and
PCjr. Darkstar provides so¬
lutions to a variety of dark¬
room problems, including ex¬
posure, filtration, and pro¬
cessing time. Timestar al¬
lows timing control of as
many as 15 sequential peri¬
ods. Darkstar Plus com¬
bines the capabilities of both
Darkstar and Timestar. The
publisher of these software
programs is f/22 Press.
Prices: Darkstar, $64.95;
Timestar, $24.95; and Dark-
star Plus, $89.95.
f/22 Press
P.O. Box 141
Leonia, NJ 07605
201-568-6250
CIRCLE 479 ON READER SERVICE CARD
September i984
195
Speed Key
dB Compiler
PFA Micro, an automated
process flow analysis tech¬
nique, has been called the
''productivity tool for the
80s" by its producers, Con¬
trol Data Business
Advisors. The technique
uses flow charts to analyze
repetitive operations. The
PFA Micro package consists
of a facilitator's kit, $950; a
training module, $450; and
application software, $950.
Control Data Business
Advisors
3601 W. 77th Street
Minneapolis, MN 55435
612-921-4251
CIRCLE 467 ON READER SERVICE CARD
PFA Micro
The first compiler developed
for dBASE II has been an¬
nounced by WordTech
Systems. The product,
dB/Compiler, translates a
dBASE II program into code
that executes without the
presence of dBASE II. It com¬
piles a dBASE II application
program into modules that
are smaller than the original
application, saving disk space
and, in some cases, executing
faster. The compiled version
protects source code more ef¬
fectively than encryption
would. dB/Compiler also has
cross-linkers available so that
code can be produced for
different operating environ¬
ments. Price: $750; cross¬
linkers, $350 each.
WordTech Systems, Inc.
Box 1747
Orinda, CA 94563
415-254-0900
CIRCLE 468 ON READER SERVICE CARD
Ashton-Tate and Infor¬
matics General Corpo¬
ration have jointly intro¬
duced a micro-mainframe
link for personal computer
database management sys¬
tems. Called dBASE/An¬
swer, the product allows da¬
tabase information to be
transferred directly from an
IBM mainframe file to an
IBM PC or PC/XT running
Ashton-Tate database man¬
agement software, such as
dBASE II and III, Friday!, and
Framework. dBASE/Answer
will work in conjunction
with a mainframe product
from Informatics called
Answer/DB. A typical con¬
figuration, consisting of an
Answer/DB module for a
single mainframe and
dBASE/Answer for 50 PCs,
would cost $45,000.
Ashton-Tate
10150 W. Jefferson Blvd.
Culver City, CA 90230
213-204-5570
CIRCLE 470 ON READER SERVICE CARD
Informatics General Corp.
21031 Ventura Blvd.
Woodland Hills, CA 91364
213-887-9040
CIRCLE 471 ON READER SERVICE CARD
Microsoft has released
new versions of Microsoft
Pascal, FORTRAN, and
C compilers for MS-DOS.
Enhancements to Pascal in¬
clude high-speed math per¬
formance without an 8087
chip, BCD floating point
arithmetic and MS-DOS 2.0
file and overlay linking op¬
tions. The new FORTRAN
also includes new support for
large arrays and complex
numbers. The latest C com¬
piler now supports use of
path names to take advantage
of DOS directory structure
and I/O redirection. It has
expanded memory addressing
capabilities. A programmer
can now choose from a small-,
medium-, compact-, or
large- memory C compiler.
Pascal 3.2, $300; FORTRAN
3.2, $350; and C 2.0, $500.
Microsoft
10700 Northup Way
Bellevue, WA 98009
206-828-8080
CIRCLE 474 ON READER SERVICE CARD
Koala Technologies
Corporation has intro¬
duced a product that im¬
proves its Koala touch tablet
for business applications.
With Speed Key, the tab¬
let becomes a custom key¬
board with overlays. Each
overlay contains 36 soft keys
dedicated to a specific busi¬
ness application program—
including Lotus 1-2-3, Word¬
Star, MultiPlan, SuperCalc,
VisiCalc, dBASE II, and
PFS:Write. With Speed Key,
the user does not have to re¬
member lengthy commands
and multiple keystrokes
required by a conventional
keyboard. In addition, press¬
ing a button on the tablet
will provide the user with
mouse-like features. $99.
Koala Technologies Corp.
3100 Patrick Henry Drive
Santa Clara, CA 95052
408-986-8866
CIRCLE 465 ON READER SERVICE CARD
196
PC Tech Journal
Computer Control Sys¬
tems has added a data,
screen, and report manager to
its product line. DB-FABS
has been designed for use ei¬
ther in the stand-alone mode
for the computer novice or in
the run-time mode with a
standard BASIC interpreter or
compiler. The package allows
the user to preset up to 16
conditions in data files,
forms, and keys; other fea¬
tures include automatic up¬
dating of indexed files and an
archival file for saving del¬
eted records. $295.
Computer Control Systems
298 21st Terrace SE
Largo, FL 33541
813-586-1886
CIRCLE 473 ON READER SERVICE CARD
A database-management soft¬
ware package for PCs that is
compatible with SQL/DS and
Database 2 systems has been
announced by Qint Data¬
base Systems Corpora¬
tion. Using Qint/SQL,
companies can integrate indi¬
vidualized data processing on
PCs with their centralized
databases. Qint/SQL offers
database-management capa¬
bilities to microcomputer us¬
ers. Three versions are avail¬
able; Query, for users who
need only to retrieve data
from a database,- Query +
Floppickne
Update, for users who need
to enter and retrieve data;
and Administrator, for those
concerned with the creation,
maintenance, and manage¬
ment of database systems.
Prices from $1,000 for Query
to $9,000 for Administrator.
Qint Database
Systems Corporation
50 Waban Hill Road North
Chestnut Hill, MA
617-527-9329
CIRCLE 478 ON READER SERVICE CARD
A source code interactive li¬
brarian, SETrSCIL, has been
announced by System En¬
gineering Tools, Inc.
SCIL can maintain any pro¬
gram source code, regardless
of language, and it allows the
user to choose any ASCII text
editor. The product is the
first in a new line of software
maintenance tools. Soon to be
released are SET; FORM, a
frame-oriented "include" me¬
taprocessor, and SET;PLAN,
which will create and main¬
tain system design docu¬
ments. $695.
System Engineering
Tools, Inc.
645 Arroyo Drive
San Diego, CA 92103
619-692-9464
CIRCLE 475 ON READER SERVICE CARD
In response to IBM's an¬
nouncement of a local area
network cabling system,
Ungermann-Bass, Inc.
has said it will offer a version
of its Net/One that will
operate on the IBM
cabling system. By adding
data-grade twisted-pair wire
to conform to IBM's specifi¬
cations, Net/One users will
be able to select the most ap¬
propriate medium or combi¬
nation of media for their
needs while insuring compat¬
ibility with IBM products.
Ungermann-Bass
2560 Mission College Blvd.
Santa Clara, CA 95050
408-496-0111
CIRCLE 476 ON READER SERVICE CARD
OTHER WARES
Pivar Computing Ser¬
vices provides conversion
services from magnetic tape
to disk, disk to tape, and disk
to disk. The company can
convert more than 140 differ¬
ent formats and can create
customized programs to re¬
format data to the customer's
specifications. Pivar also of¬
fers conversion to mailmerge
formats, dBASE conversion,
upper- to lower-case conver¬
sion, and conversion to un¬
pack packed fields. Prices
range from $15 to $65 per
disk, depending on the
format requested.
Pivar Computing Services
47 W. Dundee
Wheeling, IL 60090
312-459-6010
CIRCLE 481 ON READER SERVICE CARD
Automation Facilities
Corporation has an¬
nounced Floppiclene, a
completely disposable wet-
dry disk drive head-cleaning
system. The proprietary tech¬
nology assures safe and im¬
mediate elimination of con¬
taminants that collect on
disk drive heads. The prod¬
uct is available for 3^2-inch,
5 ^4-inch, and 8-inch disk
drives. Each kit contains 20
cleaning disks, Safeclene
aerosol cleaning solution, two
Safebond absorbent wipes,
and two Safeclene presatu¬
rated antistatic screen wipes.
The package costs $34.95. A
home computer version with
10 cleaning disks is available
for $19.95.
Automation Facilities
Corporation
Financial Plaza
3916 State Street
Santa Barbara, CA 93105
805-687-7040
CIRCLE 483 ON READER SERVICE CARD
September 1984
197
Behind BASIC's
Back
Some handy tricks to help you get
the most from your IBM PC
Sometimes it is necessary to sneak
behind BASIC's back to get the
most from the IBM PC. Here are a
few handy tricks that can be used
in many BASIC programs.
This PEEK determines which
monitor, color/graphics or mono¬
chrome, is currently active:
10 DEF S£G=&H40
20 MONO.CARD=(PEEK(&H10)
AND &H30)=&H30
30 COLOR.CARD=(PEEK(&H10)
AND &H30)<>&H30
40 IF NOT COLOR.CARD
THEN . . .
When mid-resolution graphics
mode is entered, BASIC allows no
choice of color for characters dis¬
played by the PRINT command.
These POKEs provide that choice:
DEF SEG: POKE &H4E,KOLOR
for interpretive BASIC
DEF SEG: POKE &H81,KOLOR
BASCOM with /o option
DEF SEG: POKE &HB5,KOLOR
BASCOM with BASRUN
Just set the KOLOR variable to 1, 2,
or 3 and execute the relevant code.
There is a "backdoor" way to
change the background color of
characters printed in graphics
mode: if the user POKEs the correct
color address with the command
KOLOR + SiHSO, printed charac¬
ters will be XORed with the pixels
that are already in place. This code
sets the screen to a pseudo-inverse
mode by filling it with white, then
using the described POKE:
10 SCREEN 1
20 LINE (0,0)—(319,199),33F
fill with white
30 DEF SEG :POKE &H4E,&H83
interpretive BASIC
40 INPUT A$
now experiment
50 POKE &H4E,3
The last POKE resets the color val¬
ue to its default because the BASIC
editor gets confused in this "XOR
mode." While line 40 is executing,
try this experiment: press the letter
a, backspace and press b, backspace
again and press c, backspace and
press a, and finally, backspace and
press c. The result is surprising.
Users who have a good under¬
standing of the meaning of the bit¬
wise XOR function should be able
to figure this trick out without try¬
ing it. Incidentally, any of the four
colors can be used for either the
foreground or the background.
LPRINT Hints
Most users who have two parallel-
interface cards and two printers
have wished for a simple way to
swap the printers with a software
command. The following code will
do exactly that:
100 DEF SEG=8lH40
110 P8=PEEK(8) :P9=PEEK(9)
120 POKE 8,PEEK(10) :POKE
9,PEEK(11)
130 POKE 10,P8 :POKE 11,P9
This procedure can be used to
modify a program so that it routes
TECH
NOTEBOOK
Dan Rollins
all LPRINTs and LLISTs to the de-
sired printer.
Of course, in order to keep pro¬
grams as flexible as possible, use of
LPRINT should be avoided. Just
OPEN the desired printer as a file
and use PRINT# instead of
LPRINT. In addition to being more
flexible, this technique allows
printer output to be sent to a text
file or to the screen.
BASICA version 2.0 will per¬
form a screen dump whenever the
user presses Ctrl-PrtSc. The same
thing can be done without user
intervention with this sequence.-
Y!=-51973.8 :X=VARPTR(Y!)
:CALL X
The secret to this sequence is that
the floating-point representation of
—51973.8 just happens to coincide
to the opcode bytes for
CD05INT 5
CB RETF
90 NOP
and the CALL X transfers control to
the address at which Y! is stored.
In fact, any interrupt can be
invoked by using the equation
Y!= —(51968.8+int.num). This
has few applications, because it
doesn't pass any parameters or re¬
turn any values from the interrupt.
These techniques, and others
like them, will help users get the
most from BASIC on the IBM PC.
fmT»1
Dan Rollins is a software consultant and
freelance writer who hves in Cahfornia.
198
PC Tech Journal
TECH BOOK
A Special Section for Product and Service Listings
Accessories/Supplies
RESET BUTTON FOR IBM PC
The button IBM forgot. A good reset button is a
basic tool for PC (PC/XT) programmers. When
your machine is hung up, a touch of the button
will quickly reboot your computer. This kit in¬
stalls easily and mounts out of the way behind
your machine. Easy instructions included. Send
$29.80 (add 6% in MN).
RESET CORPORATION
P.O. Box 14809
Minneapolis, Minnesota 55414
(612)489-5892
IBM STYLE BINDERS, SLIPS
Complete program packaging line. D-ring cloth
binders, slip cases, floppy pages, game portfo¬
lios. Continuous paper with three large holes, 20
lb. to go in binders. Blank disk envelopes. Func¬
tion key cards tell user your F1-F10 meanings.
Call, write for prices. Catalog. Fast service, low
prices.
ANTHROPOMORPHIC SYSTEMS LIMITED
376 E. St. Charles Road
Lombard,! 60148
(312)629-5160
Computer/Services
INTI DOCUMENTATION
INTERNATIONAL DOCUMENTATION provides
reliable service in the preparation of foreign
documentation & mktg. materials. Service in¬
cludes translation, typesetting, & graphic art.
Clear and accurate documentation in any lan¬
guage is a must. Let INTERNATIONAL DOCU¬
MENTATION make your foreign documentation
speak for you.
INTERNATIONAL DOCUMENTATION
120 Barranca Ave. Suite A
Santa Barbara, CA 93109
(805)965-4761/(213)990-4886
Hardware/ Add-on
Boards
EPROM/MP/PAL/BIPOLAR
PROGRAMMER
PC compatible APROM-2000 card can program
2716, 32, 32A, 64,128, MCM 68764 EPROMS
and also 8748/49/51 processors. The software
(CP/M-86, MSDOS) can read, verify and pro¬
gram eproms and uses fast programming al¬
gorithm. The zero insertion socket is mounted
on an external box. The external box for BIPO¬
LAR proms and PAL is also available.
ADVANCED MICROCOMPUTER
SYSTEMS, INC.
6802 N.W. 20th Ave.
Ft. Lauderdale, FL 33309
305-975-9515
DT2801 SERIES ANALOG I/O
Plug-in data acquisition boards with 8DI/16SE
analog inputs, high or low level programmable
gains, 2 analog outputs, 16 lines of digital 1/0,
DMA, on-board clock, and on-board micropro¬
cessor. Optional software subroutines and screw
terminal panels.
DATA TRANSLATION INC.
100 Locke Drive
Marlboro, MA 01752
(617)481-3700
256K NO SLOT MEMORY
IBM PC-1 owners. Let us install up to 256K RAM
on your EXISTING SYSTEM BOARD using NO
SLOTS. We improve your IBM PC so it can ad¬
dress the 64K RAM chip, 256K-$335 (expand¬
able and warranted). DO-IT-YOURSELF KITS—
PC-KPC-$69.95 ($99.95 assembled). 64K-
RAMS-$5.85ea.
ADD-MEM
22151 Redwood Rd.
Castro Valley, CA 94546
(415)886-5443
MULTI-COMM COMMUNICATIONS
ESE introduces two specially designed RS-232C
serial communications adapters for the PC & XT
and compatibles. MULTI-COMM II fias two ports,
$225.00, and MULTI-COM IV, a four port unit,
$445.00. Both have ESE’s selectable 64K I/O
address decoders and use a single interrupt line
regardless of the number of ports added.
ELECTRONIC SYSTEMS ENGINEERING CORP.
477 Congress Street, Suite 911
Portland, Maine 04101
MC/VISA. (207) 773-7778
RATES AND INFORMATION
Listings are grouped by category and consist of a bold lead line (23 characters
maximum), 7 lines of ad copy (45 characters per line), plus 4 lines of com¬
pany name, address and telephone number.
Listings are available only on a 3 issue basis at $60. per issue ($180. total).
Copy will have a set format and remain the same for all 3 months. Enhance
the appearance of your ad by including your Logo at an additional cost of $25.
per issue ($75. minimum extra charge). Pre-payment is required by check,
money order, or American Express, Diners Club, MasterCard, Visa credit
cards. Closing Date: 1st of 2nd month preceding cover date.
Send copy and remittance to PC TECH JOURNAL, TECH BOOK, 12th
FLOOR, 1 PARK AVENUE, NEW YORK, NY 10016. Call (212) 725-4215 for
additional information or assistance.
FIXED DISK BIOS/BOOT
fiXT boots from DATAMAC, DAVONG, XEBEC,
PERCOM, GREAT LAKES, ZOBEX, others. Adds
XT-like BIOS interface for your disk to IBM PC or
COMPAQ. Plug-in installation. DOS 2.0/2.1/reqd.
Specify controller model with order $70 -t- $3
shpg. -r- tax. MC/VISA (optional volume support
at additional cost.)
GOLDEN BOW SYSTEMS
P.O. Box 3039
San Diego, CA 92103
(619)298-9349
Hardware
Communications
TOTAL PC&XT COMMUNICATION
ESE introduces two extremely powerful com¬
munications adapters for the PC&XT & com¬
patibles. One is a unique multi-interrupt RS-232
serial add-on for one OR MORE users; $139.50,
and the second is a programmable 24 line par¬
allel interface; $119.45. Both have ESE’s full 64K
selectable 1/0 address decoders.
ELECTRONIC SYSTEMS ENGINEERING
477 Congress Street, Suite 911
Portland, Maine 04112
MC/VISA (207) 773-7778
Hardware/
Peripherals
Hardware Disk
Drives
8' & S'A" FLOPPY ORIVES ANO
OISKETTES
• 8" flexible disk subsystem—Attractive thin-line
design stacks above or below system’s unit
(1972" X 18" X 3/2") ANT with complete docu¬
mentation. Controller board and software
available.
1-8480 DD, DS, 2.4 MB $1495
1-8481 SD. DS, 1.2 MB $995
• 5 / 4 " internal disk drives—TANDON or Control
Data-DS, 40 ATP1,320 KB.
TM100-2 $235 •CDC 9409 $249
574" half height internal disk drives available.
• Control Data diskettes—1240-00 574" SS/DD
w/write protect notch in hub ring—bx of 10 $22.
1244-00 574 " DS/DD $35.1225-00 8" DS/DD
wpn $39.50. VISA/MC.
MICROXPRESS
MICROXPRESS
305 S. State College, Suite 135
Anaheim, CA 92806
(714)632-8512
PC/STD BUS-h SOFTWARE $119
STD EMULINK is a paralell interface to any STD
Bus motherboard for IBM PC with Tecmar base¬
board. Comprised of STD Bus card, ribbon Ca-
ble+ BASIC drivers. STD EMULINK offers PC user
economical link to industrial quality STD Bus I/
0 boards, [ideal for PROCESS CONTROL & AU¬
TOMATION. Send check or money order.
STD EMULINK
P.O. Box 673
Upton, NY 11973
Mailing Lists
IBM MAILING LISTS
Over 100,000 names of IBM personal computer
owners (counts increase daily) available for rental
on labels or magnetic tape. Total 600,000 in¬
cluding other brands. Plus IBM + compatible
retail store + 50 other lists. Call or write for free
catalog.
IRV BRECHNER
TARGETED MARKETING, INC.
Box 5125
Ridgewood, NJ 07451
(201)445-7196
Publications
DYNAMIC DUO RETURNS!
Two new disk magazines for the IBM-PC-PC
FIRING LINE (for programmers) and PC UN¬
DERGROUND (for non-tech folk) are available
now. Send a self-addressed stamped disk mailer
and two formatted DS/DD disks for your free
copy.
ABCOMPUTING
P.O. Box 5503
North Hollywood, CA 91616-5503
(818)509-9002
Security
DATA PADLOCK
DATA PADLOCK is a software implementation of
the National Bureau of Standard Data Encryp¬
tion Standard. Written in Assembler. DATA PAD¬
LOCK offers max speed with no increase in file
size. An 8 character password provides the key
for encryption. Protect sensitive data, text or
program files from unauthorized access. Works
with all DOS versions $150. VISA/MC.
GLENCO ENGINEERING
3920 Ridge Ave.
Arlington Hts., IL 60004
(312)392-2492
TECH BOOK
Software/Business
dINVOICER + PLUS
MENU-DRIVEN BILLING & ACCOUNTS RE¬
CEIVABLE MANAGEMENT SYSTEM. Produces
Invoices, Aged Statements, Invoice Journals,
Receipts Journals, Aged Customer Account
Status, Past Due Notices, etc. Available with
modifiable source code for dBASE II users $129
or as a stand-alone Run-time package $199.
DESMET C—$109
Full K&R C compiler, assembler, linker, librarian,
full-screen editor and example software. Both
8087 and floating point libraries. OUTSTAND¬
ING PRICE/PERFORMANCE. Rated 1 st or 2nd in
August ’83 BYTE benchmarks. No royalties on
generated code. C Ware newsletter. Unlimited
updates at $20 each. PC-DOS (Ver 1.1 & 2.0),
generic MS-DOS and CP/M-86 support. $109
for complete package, shipping included. Now
available with source level debugger. Price $159.
DATAMAR SYSTEMS
819 Gage Dr.
San Diego, CA 92106
(619)223-6444
WAR
CORPORATI
EXPERT SYSTEMS
Create your own expert systems with EXSYS. All
input is English text or menu selection. Uses full
1000K and probabilistic IF-THEN rules. Expert
systems developed marketable without royalty.
Demo disk including text of manual $10 (refund¬
able). Full program—$200. Requires 128K or
more.
EXSYS
RO. Box 75158
Contr. Sta. 14
Albuquerque, MN 87194
Software/
Communications
C WARE CORPORATION-MAIL ORDER DEPT.
P.O.Box 710097
San Jose, CA 95171-0097
C SOFTWARE DEVELOPMENT
•Full C Compiler per K&R
Inline 8087 or Assembler Floating Point
Full 1 Mb Addressing for Code or Data
•MS DOS 1.1/2.0 Library Support
Program Chaining Using Exec
Environment Available to Main
•c-window'“ C Source Code Debugger
COMBINED PACKAGE $199
c-systems
RO. Box 3253
Fullerton, CA 92634
(714)637-5362
TELEX LINK SOFTWARE
Link your computer to Western Union telex ser¬
vice via TWX or EasyLink. Cawthon’s telex soft¬
ware is specifically designed for telex
communications and is easy to use, has on-line
help, self-test diagnostics, frequently called
numbers, and an excellent User’s Guide. Caw¬
thon’s telex software is available for the IBM-PC
and many other computers.
Cawthon
Scientific
Group
CAWTHON SCIENTIFIC GROUP
24224 Michigan Avenue
Oeatborn, Michigan 48124
(313) 565-4000 Telex: 810-221-1265
Software/ Compiler
WIZARD C COMPILER
The power of C with the thorough diagnostics of
PASCAL. Full LINT diagnostic integrated with
compiler. Full UNIX SYSTEM 3 compatibility.
Floating point library; fast compact code; 1 reg¬
ister variable. In-line assembly code. UNIX em¬
ulation library. Uses MICRO-SOFT linker. PC/MS
DOS 2.0 only. $450.00.
WIZARD SYSTEMS SOFTWARE
11 Willow Court
Arlington, MA 02174
(617)641-2379
C-FUNCTION LIBRARY $29
100 C functions, macros, assembly functions.
Screen, cursor, keyboard, string, BI(3S and DOS
access, of course. Plus BASIC equivalent, utility
and many more you don’t have but need! Just
one can save you five times the cost of entire
package. Manual w/source code $29.95. Man¬
ual + 2 disks: source +5 libraries $49.95. Lat¬
tice or Microsoft C. (DeSmet and Cl soon).
ENTELEKON
12118 Kimberley
Houston, TX 77024
(713)468-4412
Software Data
Mgmt.
THE FORMS DESIGNER"-
Attention IBM Pascal, FORTRAN users! Save time
in designing formatted screen I/O. Interactive
Forms Editor allows you to draw lines and boxes,
define fields, and edit text. Access forms or read
keyboard entry by writing only one line of code.
Provides sequential data retrieval and storage.
Requires 128K RAM. Only $275 complete. Demo
and manual $35. Call or write:
BIT SOFTWARE
PO Box 619
Milipitas, CA 95035
(408)262-1054
Software/
Development Tools
FREE FREE FREE
BASIC AIDS FACT SHEETS and our guide titled
“MAKE YOUR PC PROFITABLE" are sent free to
persons who request them. Learn more about
developing Structured Programs in BASIC. This
new release of BASIC AIDS is the most powerful
program DEVELOPMENT and DOCUMENTA¬
TION tool available!
TULSA COMPUTER CONSORTIUM
PO. Box 707
Owasso, OK 74055
(918)747-0151
C-INDEX-i-
C index plus provides complete data manage¬
ment for C language applications development.
Includes variable length data storage, B+ Tree
ISAM indexing, interactive tutorial. Supported
compilers. Lattice & CI-C86. No application roy¬
alty fee. Object code license: $400. Demonstra¬
tion package: $25.
TRIO SYSTEMS
2210 WilshireBlvd. Suite 289
Santa Monica, CA 90403
(213)394-0796
SOFTWARE PERFORMANCE
PROFILER
THE PROFILER'“ will tell you where your pro¬
gram is spending it’s time and allows you to do
performance tuning on your code. Works with any
language, data printed in histogram form. Easy
to use and interpret. Complete user manual pro¬
vided. Requires DOS 2.0 or better and 64K.
$175.00 VISA/MC OK.
DWB ASSOCIATES
PO BOX 5777
BEAVERTON. OREGON 97006
(503)629-9645
PASCAL/FORTRAN/C UTIL
Written in assembly language, Pascal/Fortran/
C Utilities control screen, keyboard, graphics,
music, lightpen, mouse, joystick, printer, RS—
232, & I/O ports. Line/circle/ellipse/pie, clip¬
ping. windowing & animation. Terminal emula¬
tor. random #. BIOS/DOS calls. W/150 pg.
manual, demos. Specify compiler. $119. Check/
VS/MC.
SOFTWARE LABS
1221 Matisse Street
Sunnyvale, CA 94087
(408)730-8108
ANOTHER DEBUGGER??
This one has FULL SCREEN format and SCREEN
COEXISTENCE with test program (including
graphics-even SCROLLS THROUGH LISTING
FILES without disturbing the test session-all with
NO COMMANDS and only 10 function keys! It’s
fast (assembler), small (60K). and only $75 with
manual. DOS 2.0 or 2.1 IBM PC. XT. COMPAQ
PC-TEST
for the software developer
PO. Box 54068
San Jose, CA 95154
FORTRAN CODE EDITOR
IFCE is a program that renumbers, aligns & de¬
tabs FORTRAN IV to 77 programs. IFCE works
on a routine by routine basis. IFCE is very out¬
standing in situations where statement num¬
bers are not ordered as a result of modifications
& program maintenance. IFCE is a FORTRAN 77
program. Dealers welcome. $85.
La Mesa Research & Development
PO. Box 31
Louisville, CO 80027
C LIBRARY, TOOLS, SHELL
Library for lattice C compiler: all DOS. Some BIOS
function calls, enumerated and sorted file-names,
longjimp, quicksort, random numbers, others.
Tools: improved DIR, change mode, word count,
walk directories, others. Source included. $50.
Improved shell: all DOS internal commands,
command history, etc. $55.
LEMMA SYSTEMS. INC.
1508 Calle del Ranchero NE
Albuquerque, New Mexico 87106
(505)268-7220
RAPID BASIC PROGRAMMING
SAVE VALUABLE TIME WITH THESE EFFEC¬
TIVE TOOLS:
—R—Reference line numbers & variables used;
—A—Alter or find string in program or file;
—P—Peripheral input/output interchange prog;
—I—Include basic subroutine source modules:
—D—Duplicate variables in 2 modules listed.
SOURCE MICROSOFT BASIC FORMATS ALL
FOR $49.95.
JAMES HALSTEAD & ASSOC.
1551 Plainfield Road
Joliet, IL 60435
(815)725-0346
COBOL GENERATOR
Generates IBM PC or MS COBOL
• Screen Design/Data Dictionary
• Structured Program Generator
• Query/Report Generator
From $250—send for information
—The COBOL Experts—
• Manframe to PC conversions
BOMAC SYSTEMS
PO. Box 10670
Pittsburgh, PA 15235
(412)795-3581
TECH BOOK
C LIBRARY UTILITIES
Don’t reinvent the wheel. Save time & money.
Do a better job. Extensive library with source. Best
screen handling available. Sound, graphics, DOS
2, printer, comm, date, time, and more. 150+
functions. DOS/BIOS gate gives complete con¬
trol of your PC. C86, Microsoft, Lattice. Intro, of¬
fer $79. Demo $30.
ESSENTIAL SOFTWARE, INC.
PO BOX 1003
Maplewood, N.J. 07040
(914)762-6605
Software/
Engineering
PELADA TEXT ENGINEER
Engineering and Scientific Word processing.
Technical symbols, special characters, super/
subscripts, italics, underlining, bolding. With
graphics hardware you can design any symbols
you want, up to 384 different characters. All
characters visible on screen and printable. Easy
English commands. $250.
PELADA INFORMATICS INC.
562 Johnson Street
Kingston, Canada K7L-2A1
(613)549-1747
ELECTRONIC CIRCUIT ANALYSIS
ECA is a high performance simulator for analog
electronic circuits. Features include full editing,
worst case, sensitivity analysis, ability to sweep
components, 64 nodes. It is easy to use and very
fast. Price $150. For all MS-DOS, CP/M, CP/M-
86 computers.
TATUM LABS
P.O. Box 698
Sandy Hook, CT 06482
(203)426-2184
PUBLIC DOMAIN FREEWARE
Rent PC Disk Libraries for 7 days, copy yourself
and return. Hundreds of business, games and
utilities free for the taking!
IBMPC-SIG-IOOVols. $99.50
IBM PC-Blue 73 Vols. $99.50
50' “flippy" Disks (blank) $99.50
Rental is for 7 days after receipt (sent by VPS),
3 more days grace to return. Credit cards ac¬
cepted, no deposit necessary.
NATIONAL PUBLIC DOMAIN
SOFTWARE CENTER
1062 Taylor St., Visat, CA 92083
(619)727-1015
24 hr. orders. (619) 941-0925 tech.
HEAT TRANSFER ON THE PC
T/SNAP AND CPP1 are Thermal Engineering
Programs. T/SNAP will solve steady-state and
transient problems up to 250 nodes. Includes
interactive input, FSE and plotting. CPP1 will
design various size coldplates using compact
fins. Calculates parametric electronic heat sink
and pressure drop performance.
TECHNA/SOFT SYSTEMS
717 W. 14th Street
Long Beach, CA 90813
(213)432-2704/823-6291
Software General
ATTENTION SOFTWARE AUTHORS
Our established literary agency is seeking to
represent talented freelance programmers. We
open doors for our clients at the leading soft¬
ware houses and negotiate the best deal possi¬
ble. Put our years of experience to work for you.
For further information on the benefits of repre¬
sentation contact:
THE ROBERT JACOB AGENCY
1642 Eveningside Drive, Suite 110
Thousand Oaks,CA 91362
(805)492-3597
RENT PUBLIC DOMAIN SOFT/W
Rent our PC Disk Libraries for 7 days and copy
them yourself. Hundreds of useful business,
games and utilities FREE FOR THE TAKING!
IBM-PCSIG-135 Disks $135.00
IBM-PC “Blue" 53 Disks $50.00
Rental is for 7 days after receipt, 3 days grace to
return. Most credit cards accepted.
NATIONAL PUBLIC DOMAIN SOFTWARE
CENTER
1533Avohill Drive
Vista, CA 92083
(619) 941-0925. lnfo-(619) 727-1015. 24 hr.
orders.
Software/Graphics
FORTRAN GRAPHICS PACK
60 Microsoft FORTRAN/Pascal (1.0 or 3.1)
SuperSoft FORTRAN callable subroutines.
Professional graphics power backed by a 90 page
user manual, filled with examples and designed
to be helpful to every level of user. Five packages
in one! General utility, 2-D interactive, 2-D plots,
3-D plots, and solid models (hidden line re¬
moval!) $95.
MICROCOMPATIBLES
11443 Oak Leaf Drive
Silver Spring, MD 20901
(301)593-0683
TECHTRONICS 4010 EMULATION
High resolution screen/printer graphics for the
IBM PC. Full interactive capabilities with file
transfer and cross-hair control. Utilizes PLOT 10,
ISSCOS DISSPLA, TEL-A-GRAF and SAS pro¬
tocols. OFF-line review of graphics output. This
emulation software is easy to use with high
quality graphics at an affordable price. $80.00.
Technological Systems Group
5044 Haley Court
Lilburn,GA 30247
(404)923-4980
GEOGRAF^“
GEOGRAF'“ helps you prepare high-quality,
customized graphs for business, engineering and
science. GEOGRAPH'" cuts programming time
by up to 80%. Callable from BASIC, FORTRAN
or PASCAL. Versions available for most graph¬
ics cards and plotters. Fully compatible with
Colcomp’s FORTRAN standard plotting package.
GEOCOMP CORPORATION
342 Sudbury Road
Concord, MA 01742
(617)369-8304
FORTRAN/PASCAL PEN PLOTS
PLOTMATIC: Complete support for H-P, IBM,
Apple and HI pen plotters. All primitives avail¬
able as subroutine/procedure calls plus total 2D
plotting support package. INTERFACES with
GRAFMATIC. Specify compiler (version num¬
ber) and plotter. $135 Plotmatic from
Microcompatibles.
Microcompatibles Dept. P
11443 Oak Leaf Drive
Silver Spring, MD 20901
(301)593-0683
Software/
Languages
ADA ON A MICRO
JANUS/ADA is an exceptional programming
language for software development. Being a
subset of the Ada programming language
JANUS/ADA implements those features of Ada
which are directly needed by professional pro¬
grammers. These features include separate
compilation, user defined data types and helpful
program debugging.
R.R. SOFTWARE
P.O. Box 1512
Madison W153701
(608)244-6436
APPLICATION DEVELOPMENT
Build any application in a fraction of the time it
would take with BASIC or COBOL. TPL com¬
bines conventional programming language
constructs with a database manager, screen
handler, and report generator in a powerful, yet
flexible application development system. Full TPL
system $250. Manual/Demo $50.
Randak Systems
346 N. Kanan Road, #204
Agoura,CA 91301
(818)706-3737
Software/
Mailing Programs
PONY EXPRESS XL
Designed for commercial mailings or extra large
lists. Super fast machine code multi sort. Carrier
route sort. Prints labels: 1 -5 across, singale line
format, or user-defined format. Also CHESHIRE
FORMAT. Unlimited files. Multi file merge. Rec¬
ords can be selected by user-defined codes,
specific zips or zip ranges. Phone list option.
Unique correction & deletion routines for updat¬
ing. Instant access to all records. Auto repeat for
ease of record entry. Interfaces w/most word
processors. $238.
COMPUTECH
975 Forest Ave.
Lakewood, NJ 08701
(201)364-3005
Software/ Operating
Systems
MULTIPLE USERS UNDER PC DOS
MultiLink turns PC-DOS into an efficient multi¬
user multi-tasking operating system. Additional
users are supported by attaching inexpensive
CRT terminals or modems to serial ports on the
PC, and can run normal applications designed
for PC-DOS. Includes host communications
software for public dial-in.
THE SOFTWARE LINK INCORPORATED
6700 23B Roswell Rd.
Atlanta, GA 30328
(404)255-1254
Software/Sort
DPT-TECH SDRT/MERGE
Extremely fast Sort/Merge program for the IBM-
PC. Can sort or merge multiple files containing
fixed or variable length records. Run as a DOS
command or call as a subroutine, plus many
other features. Now also sorts dBASE II files!
Compare before you buy any other. Write or call
for more info. $99.
OPT-TECH DATA PROCESSING
P.O. Box 2167
Humble, TX 77347
(713)454-7428
INTERNAL SORT FOR BASIC
NSORT—A FAST & easy to use quicksort sub¬
routine written in C & assembler, CALLable from
BASIC. Sorts an unlimited number of records in
memory on up to 8 keys of mixed type, ascend¬
ing/descending. Like having a SORT built into
the language. Works w/compatibles. Compiled
and Interpreted, all DOS versions. $49.95+$2.50
s&h.MC/VISA/CHECK.PA + 6%tax.
NATIONAL SOFTWORKS
65 East Elizabeth Avenue
Bethlehem, PA 18018
(215)867-4800
Software/Statistics
AUTOBJ/AUTDBDX/BDX/SIM
These PC statistical forecasting and modelling
packages are as powerful as their mainframe
counterparts. “Smart software" optionally al¬
lows the user to automatically build the best
univariate and multivariate box-Jenkins models
including Intervention Models. Easily interfaced
with planning packages. Build B-J models in
minutes. From $195. Demo $5.
AUTOMATIC FORECASTING SYSTEMS, INC.
PO BOX 563
Hatboro, PA 19040
(215)675-0652
TECH BOOK
Software/Terminal
BLUELYNX
Replace your dumb terminals with smart PCs and
XTs. TECHLAND SYSTEMS is the nation’s lead¬
ing synchronous communications company with
over 6,000 BLUELYNX’ installed. The BLUE-
LYNX hardware/software product emulates the
5251/12 for the S/34, S/36 and S/38. Now
bundled with Autolynx for unattended operation
... only $745. BLUELYNX 3276 for the larger 43xx
and 30xx mainframes, both SDLC and BSC ver¬
sions, now comes bundled with Data Reader, a
utility that facilitates the formatting of host files
into Lotus 1-2-3, dBase, etc... only $795. Printer
and up-and-download support available with
both verisons.
ID
TECHLAND
SYSTEMS INC.
TECHLAND SYSTEMS, INC.
25 Waterside Plaza
New York. NY 10010
(212)684-7788
Software/
Typesetting
HIGH-TECH TYPESETTING
Transmit your text via toll-free lines directly to
our fully automated typesetting system. $2. per
K characters with a $5. minimum. Same day
service. 200 typefaces in sizes up to 72 point.
Send $15. + $3. shipping for our 220 page
guidebook, or call toll free and use your MC, VISA
or AMEX.
INTERGRAPHICS INC.
106A South Columbus Street
Alexandria, VA 22314
(800) 368-3342 or (703) 683-9414 in DC area.
Software/Utiuties
IBM-PC COBOL PROGRAMMERS
Screen coding is fun, fast and accurate with
Qwik-Screen Builder. “Paint” screen layout and
create true COBOL source code for screen sec¬
tion in minutes. 100+ pages of documentation.
Satisfaction guaranteed or money back. Needs
DOS 1.1/2.0, two DS/DD drives, mono¬
chrome display and the COBRUN. EXE runtime
module. $50/Visa/MC.
THE COMPUTER WORKS
P.O.Box 1371
Coeur d’Alene, Idaho 83814
(208)667-6152
DOS PATH Command For Data
Now your programs can access data files under
DOS 2.0+ no matter where they are located.
DPATH, a system—resident program extending
the functionality of your DOS PATH command to
include data files, includes a screen—oriented
maintenance utility and a 60-page user manual.
Requires PC—DOS 2.0. $25.
PERSONAL BUSINESS SOLUTIONS. INC.
RO. Drawer 757
Frederick, Maryland 21701
(301)865-3376
SNOOP DISKETTE UTILITY
Produce graphic maps of diskettes and files.
Comprehensive diskette analysis. Add, delete or
modify labels. Pageable directory. Change file
attributes. Display, modify or search sectors or
files. Much more, all in a single, easy-to-use
program. Documentation included. Introductory
price $40. SASE for information.'
OTTER CREEK SOFTWARE
75 Hunting Lane
Goode, Virginia 24556
CONVERTS ANY CPMTODOS
CROSSDATA CONVERTS ANY DATA/TEXT FILE
format from CPMxx to MS/PC-DOS. CPMxx to
CPMxx & MS/PC-DOS to CPMxx. Cross data
runs on IBM PC or comparable computer using
MS/DOS 2.0. Cross data is a self-contained
program. It comes with over 24 mats and user
can add own format. To order send $99. check
or money order to:
AWARD SOFWARE, INC.
236 North Santa CruzAve.
Los Gatos. CA 95030
(408)395-2773
COPY PROTECTION
SLK/F places an assembled or compiled pro¬
gram on a diskette with 4 different copy-resis¬
tant features in such a way that it runs normally,
but cannot be copied by backup programs such
as COPYPC. The rest of the diskette is available
as normal, and DOS may be added. Price $150.
OLIVIE
BRANCH
SORTWARB
OLIVE BRANCH SOFTWARE
1715 Olive Street
Santa Barbara, CA 93101
(805)569-1682
dSEARCHER QUERY UTILITY
A professional searching tool for dBASE II files.
Uses simple query syntax with report, recall, and
edit facilities for single file searches of any com¬
plexity. Creates reusable command programs to
search unlimited number of files for “like" data.
Tutorial incl. $79.00. Visa/MC/COD. Call/write
for info.
MICRO BYTE
P.O. Box 245
Burke, VA 22015
(703)569-6473.(703)451-8717
COPY PROTECTION BY MSD
The ULTIMATE diskette copy protection system
designed by software developers and publish¬
ers. A variety of protection methods are avail¬
able to suit your protection requirements. All IBM
PC and XT environments are supported which
includes. DOS, BASIC (compiled and interpre¬
tive). Pascal, P-System and stand-a-lone sys¬
tems. Customized systems also available.
Requires; 64K, two disk drives.
MICRO-SOFTWARE DEVELOPERS. INC.
2Wk West Main Street
St. Charles, Illinois 60174
(312)377-5151
Hard Disk DIRECT ACCESS™
The ULTIMATE utility for any hard disk user. DI¬
RECT ACCESS is a powerful hard disk manage¬
ment tool. Organizes your software programs into
a “user defined" menu system. Features attrac¬
tive screen display, rapid access into an appli¬
cation using a single keystroke & easy to learn.
Also handles batch files & complicated DOS
commands. Order today. Only $44.50 + $2.50
shipping & handling. MC/VISA.
DELTA TECHNOLOGIES
P.O. Box 1104
Eau Claire, Wisconsin 54702
(715)832-0958
TOOLS FOR PROGRAMMERS
• FILE TOOL KIT. COMPARE lists file differ¬
ences. COMPRESS shrinks files, ENCRYPT se¬
cures valuable data. HEXDUMP lists files in hex
and ASCII.
• PASCAL TOOLKIT. PXREF prints program
cross-references; PNEAT prettyprints pro¬
grams. PCASE highlights variables. Just $29.95
each, both for $49.95. VISA/MC accepted.
SEVEN VALLEYS SOFTWARE
P.O. Box 99
Glen Rock, PA 17327
(717)235-5470
PADLOCK/PADLOCK II DISKS
PADLOCK furnishes the user with a method for
providing protection against unauthorized du¬
plication from DOS commands $99. PADLOCK
II disks come preformatted with finger-print and
serialization. PADLOCK II disks offer superior
protection. Ask about our fast data encryption
product. All work with hard disk, EXE/COM files
and all DOS versions. MC/VISA.
GLENCO ENGINEERING
3920 Ridge Ave.
Arlington Hts.,IL 60004
(312)392-2492
FULL CONTROL FROM BASIC!
Cut development time, add speed & power to
your programs with NLIB. A library of assembly
language sub-routines callable from BASIC: ex¬
ecute COM & EXE files, save & restore areas of
the screen, clear & scroll windows, much more!
Add DOS functions to your menus. Create fast
help screens. Unlimited uses. Complete manual
& sample programs. All DOS versions. $49.95
+ Source avail. Call or write
NATIONAL SOFTWORKS
65 East Elizabeth Ave.
Bethlehem. PA 18018
(215)867-4800
FULL CONTROL FROM BASIC
Cut development time, add speed & power to
your programs w/NLIB. A library of assembly
language subroutines callable from BASIC: ex¬
ecute COM & EXE files, save & restore areas of
the screen, clear & scroll windows, much more!
Add DOS functions to your menus. Create fast
help screens. Unlimited uses. All DOS Versions
$49.95 + $2.50 s&h. MC/VISA/CHECK. PA +
6 % tax.
NATIONAL SOFTWORKS
65 East Elizabeth Ave.
Bethlehem, PA 18018
(215)867-4800
BASICWINDOW
Screen Generator and Processor for BASIC pro¬
grammers. This package combines a Screen
Painter for creating and modifying screens and
Macro Language and Compiler for quicker cod¬
ing and testing. Features COLOR, field vari¬
ables, complete input editing, line drawing. For
BASIC, BASICA, and BASIC Compiler users. In¬
cludes manual and reference card. $99.95 VISA/
MC accepted.
G. FREEMAN & COMPANY. INC.
15Albin Road
Stamford. CT 06902
(203)327-9868
FIX DOS WITHA.K.A!
Take full advantage of multiple directories—let
unmodified programs access files outside of the
current directory without pathnames. Alias file
name to full paths, or direct searches to other
directories according to name or extension, with
multiple options. Operation is invisible—aliases
are contained in the DOS 2.0 “environment.” $60.
MC/VISA.
SOFTSHELLTECHNOLOGYS
54 Walnut Hill Rd.
Newton, MA 02159
(617)332-8186
Software/Word
Processing
PELADA TEXT ENGINEER
Word processing for scientific and multilingual
text. All IBM characters. Super/subscripts, ital¬
ics, underlining, bolding. With graphics hard¬
ware. you can use any symbols and any alphabet,
up to 384 characters. All symbols visible on
screen and printable. Easy English commands.
$250.
PELADA INFORMATICS INC.
562 Johnson Street
Kingston, Canada K7L-2A1
(613)549-1747
VOLKSWRITER DELUXE
Features TextMerge'“ for customized mailing lists;
multi-lingual, engineering & scientific symbols:
horizontal scrolling to 250 characters: docu¬
ment size 1 megabyte; on-screen page endings,
underline, boldface, double-strike, strike¬
through. multiple fonts & colors—fevyest key¬
strokes per function. Only $295.
LIFETREE SOFTWARE INC.
411 Pacific Street
Monterey, CA 93940-2790
TECH MART
FORTRAN
or
PASCAL
PROGRAMMER?
READ
THIS
AD
1
GRAPHICS
• Text/graphics generics
• 2D interactive
• 2D plots (full support) including
auto-scaling, auto-axis genera¬
tion, auto-labeling, tabular/log/
parametric curves, splines, bars,
pies, you name it, we have it.
• 3D Plots incl. 2 hidden line remov¬
al options—not just old-fashioned
wire frame.
PEN PLOTS
• Standard plotter primitives plus
• FULL 2D support plus
• Interface to screen graphics,
• Limited 3D.
Clear and complete documentation.
GRAFMATIC $135.
PLOTMATIC 135.
MICROCOMPATIBLES
11443 Oak Leaf Drive
Silver Spring, MD 20901
(301) 593-0683
CIRCLE 301
gNREADERggVjCECA
FREE
PROGRAMMABLE RELATIONAL
DATABASE
MANAGEMENT SYSTEM
Full version, not a demo. A “user
supported” program for IBM PC
(128K) & compatibles with MS
Basic & 192K. Manual is on disk.
Includes accounting, payroll,
inventory & A/R applications. Send
4 disks, SASE, & $2 to cover
copying costs or send $10.
Potomac Pacific Engineering Inc.
Box 2027, Gaithersburg, MD 20879
(301)977-1489
« PROMPT DELIVERY!!!
SAME DAY SHIPPING (USUALLY)
64K DYNAMIC RAM ICs
200 ns @ $5.37
150 ns (g $5.37
256K DYNAMIC RAMS
150 ns (g $48.99
Place 512 Kbyte directly into IBM XT
motherboard sockets with 18 256K ICs
and proprietary information kit llllllllllllll
Add 512 Kbyte Into XT @ $847.00
CONSUME 0 EXRANSION SLOTS!
Increase your XT mothertjoard memory to 640 Kbyte!
We sell other memory ICs.
27128, 2764, 6264, 5565 etc.
MasterCard/VISA or UPS CASH COD
Factory New, Prime Parts
MICROPROCESSORS UNLIMITED
24,000 South Peoria Ave. /n.4 o\ oc*7-ylOCi
BEGGS, OK. 74421 '8) Zd7-49d1
Prtoeeahown above are tor May 21,1064
Please can lor current & v
prices on some parts duo _ . _ _
discount prices shown SmaH orders received .
you by the next momiog, via Federal Exptaes Standard
juPoo
& volume poeas. Pncas subject to change. Please expect higher
due to world wide shortages. Shipping and Insurance extra. Cash
by 6 PM CST ea
Create your own
unique PC interfaces
in minutes!
The PD100 allows rapid development of specialized
PC interfaces. It features a buffered data bus.
switch-selectable address decoder, and a large
prototype area (up to 40 IC sockets). The 116-page
manual covers basic interfacing concepts and.details
implementing A/D. D/A converters. I/O ports,
connection of transducers and dozens of useful
circuits.
PD100 w/manual - $99 REAL TIME DEVICES
plus $3.50 P&H 1930 Park Forest Ave.
Manual only - $20 Postpaid P.O. Box 906
PA residents add 6%
State College. PA 16804
Check. MasterCard, or VISA (814) 234-8087
SALES
POWER
PC: Tech Journal not only sells
itself at a nice profit, it helps sell
the hardware and software in
your store too. Because it goes
home with customers and con¬
tinues to influence buying deci¬
sions long after you’re closed for
the day. Let’s talk now.
CALL COLLECT:
(212) 725-7679
Or write:
[7n | Ziff-Davis Publishing: \
I One Park Avenue
New York. NY 10016
I Minimum order, 10 copies. We pay all shipping costs.
How to teach
your kids
about the
IBM PC.
Computers for Kids teaches
children age 8 and older to
write their own programs in
less than an hour—without the
necessity for previous knowl¬
edge of algebra, variables, or
computers. And there’s a spe¬
cial section that keeps parents
and teachers on the same
successful command path.
Starting off with an easy-to-
understand explanation of
how to use the IBM PC, your
kids will progress quickly to
flow charts and simple print
programs.. .to loops, ^aphics,
and other programming con¬
cepts that show the young
user how to make the PC do
exactly what he wants-in
non-technical language that
makes life easier for both
of you.
So do your children a favor.
Do yourself
a favor.
Order the
PC edition
of Com-
' putersfor
Kids today'.
Creative Computing Press
Dept. NY4C 39 East Hanover Avenue
Morris Plains, NJ 07950
Send me_ Computers for
Kids, PC edition, at $5.95 plus $1.50 post¬
age and handling each. #12K
□ PAYMENT ENCLOSED $_
Residents of CA, NJ and PfYState add
applicable sales tax. Outside USA add
$3.00per order.
□ CHARGE MY: (Charge and phone
order $10 minimum)
□ American Express
□ MasterCard □ Visa
CardNo_
_Exp. Date-
Signature-
Mr./Mrs./Ms-
Address-
(please print full name)
-Apt-
City-
State
Zip-
Also available at your local bookstore or computer store.
□ Send me a FREE Creative Computing
^ Catalog. j
HOWTO
GETAN
HlirPG
FORJUOT
< 1995 .
The Chameleon by Seequa does everything an IBM
PC does. For about $2000 less than an IBM.
The Chameleon lets you run popular IBM software
like Lotus® 1-2-3™ and Wordstar.® It has a full 83 key
keyboard just like an IBM. Disk drives like an IBM. And
a bright 80 x 25 character screen just like an IBM.
But it’s not just the Chameleon’s similarities to the
IBM that should interest you. Its advantages should, too.
The Chameleon also has an 8 bit microprocessor that
lets you run any of the
thousands of CP/M-80® programs available. It comes
complete with two of the best programs around,
Perfect Writer™ and Perfect Calc.™ It’s portable. Anc
you can plug it in and start computing the moment
you unwrap it.
So if you’ve been interested in an IBM personal
computer, now you know where you can get one for
$1995. Wherever they sell Chameleons.
The Chameleon by
SEEQUA
COMPUTER
CORPORATION
8305 Telegraph Road
Odenton.MD 21113
CIRCLE NO. 265 ON READER SERVICE CARD
For the location of the Seequa dealer nearest you,
call (800) 638-6066 or (301) 672-3600.
PC TECH JOURNAL PRODUCT INDEX
RS# PRODUCT ADVERTISER PAGE #
OPERATING SYSTEMS
265 Chameleon Seequa .204
160 Xenix Santa Cruz Operation .28
IBM COMPUTERS AND COMPATIBLE UNITS
“ Compaq Portable Compaq Computer Co.90-91
277 Single Board PC I-Bus Systems .78
ACCESSORY CARDS/
MULTIFUNCTION BOARDS
199 Super Rio/Rio Plus STB Systems .33
190 Bubble Memory Board Pure Data Ltd .161
225 Taurus Boards Taurus Computer Products .4
154 Captain & First Mate Tecmar .18-19
NETWORKING PRODUCTS
201 B-Trieve Softcraft, Inc.94
192 PC-Net-Local Area Network Orchid Technology .141
119 C-Tree Faircom .100
198 Multilink Software Link .178
230 Omninet Corvus .95
218 Network Station Watsoft .118
OTHER ACCESSORY CARDS
273 ABM Superboard ABM Computer Systems .183
145 8087 Math Pak Hauppauge Computer .74
154 Labpac Tecmar .18-19
MASS STORAGE HARDWARE
106 Apparat Hard Disk Apparat .62-63
122 Pegasus Hard Disk Great Lakes .121
234 Tallgrass Hard Disk Tallgrass Technology .2
215 SCSI Interface Innovative Data .181
185 9 Track Tape controller Overland Data .168
134 Data Series Hard Disk Micro Design .169
149/ 10 MB Drive
205 Interface .145
124 9 Track Mag IBEX Computer Corp .116
101 Mega Flight 100 Kammerman Labs .29
111 Teammate Data Technology Corp .26
114 Disk Drive Dragon .15
143 Mass Storage Hardware Davong .C-3
142 Hard Disk Subsystem Desert Technology .184
125 Storage Products Mountain Computer .162
“ The Image Sysgen .107
169 The Vision Series Pacific Datanet .149
COMMUNICATIONS HARDWARE
104 Magnum/Supersmart American High Tech Ind.133
204 M1212 PC Board Modem Multitech Systems .8
191 Communications Family Quadram .C-2
213 File Connection Flagstaff Engineering .67
103 Smart-Cat Modem Novation, Inc.148
158 Smartcom II Hayes Microcomputer Products 42-43
187 XCom Modem Delta Communications . 175
PRINTERS Sl PLOTTERS
122 Scientific Plotter Interactive Microware .189
147 HP Plotter Hewlitt Packard .145
INPUT HARDWARE
" Microsoft Mouse Microsoft .22-23
GRAPHICS SOFTWARE
114 ESP Bellesoft .39
138 GDSS Data Business Vision .167
SOFTWARE FOR PROFESSIONALS
" SideKick Borland International .117
235 Printer Basher Connecticut Software .68
120 Concept 100 Concept Technology .172
WORD PROCESSING SOFTWARE
236 Word Perfect Satellite Software Int’l .13
141 Text Engineer Pelada Informatica .127
RS# PRODUCT ADVERTISER PAGE #
DATA BASE MANAGEMENT SOFTWARE
300 DBase II Ashton Tate .108-109
196 Knowledge Man MDBS .12
148 XIM Zanthe .1
146 Dataflex Data Access .150
221 Database Management Software Quic-N-Easy . 162-163
LANGUAGES
° Turbo Pascal Borland International .117
129 C-86 Compiler Computer Innovations .182
222 HS/Forth Harvard softworks .154
159 PC Forth Laboratory Microsystems .132
243 LISP Integral Quality .208
208 APL Plus/PC System STSC .153
186 Coherent Mark Williams .27
115 Pascal and C Tools Blaise Computing .84
121 Windows for C Creative Solutions .102
165 mbp cobol mbp Software and Systems
Technology .103
177 Better Basic Summit Software .35-37
151 Modular II Logitech .101
PROGRAMMER'S TOOLS
206 PDT PC Answer Software .72
105 Greenleaf Functions C Library Greenleaf Software .147
268 Editor-n-Chief Polytron .97
207 SPF/PC Rogue River Software .126
113 Unix style Tools Carousel Microtools .190
157 B-Tree Accudata Software .178
126 VSI Amber Systems .86
166 Amerisoft Edit Tool Amerisoft .138
112 Programming Tool Bit Wit Software .191
116 Basic C C-Source .124
179 Opt Tech Sort Opt Tech .118
132 Firstime Spruce Technology .75
109 Ecosoft-C Ecosoft .109
137 Peeks’n Pokes Data Base Decisions .41
131 Symbolic Debugger D&V Systems .132
173 Explain Documentation Communication Sciences .114
216 The Profiler DWB Associates .81
181 DB Compiler Word Tech .87
167 Mylstar Symbolic Debugger Mylstar .99
201 B-Trieve Softcraft .94
184 Dezign Zeducomp .135
107 PC Probe Atron .73
SOFTWARE UTILITIES
153 Multijob B&L Computer Consultants .189
150 KeySwap Rickerdata .69
° JET Tall Tree Systems .136
172 Screen Sculptor Software Bottling Co.123
180 Prolock Vault Corporation .16-17
164 D Flow Wallsoft Systems Inc.82
156 Autokey Strategic Automation .120
196 Scroll Optimum Data Processing .168
194 Copy Write Quaid .81
155 File Conversion Micro Tech .168
ANALOG I/O
139 DT2801/I.O. System Data Translation .70
ADDITIONAL SUPPLIES
130 Data Saver Cuesta Systems .184
178 TDK Diskettes TDK Electronics .88-89
125 Surge Protector Curtis .10-11
193 Diskettes Beck .176
MAIL ORDER
123 MicroXpress .174
226 Programmer’s Connection .191
239 Programmer’s Shop .160
175 Software Horizons .134
183 PC Link .83
197 Coosol .104
203 Micro Mart .7
September i984
205
COMPU
805 - 498-6635
IBM PC $1899
256K, two disk drives 360K each.
Drive Controller and Keyboard
IBM PORTABLE
256K, two disk drives $2199
IBMPCw/IOMB
256K, one floppy Drive, Keyboard ^ n r a
10 MB Hard Disk with Controller yZ599
BOOTS FROM HARD DISK Backup also available
IBMPC w/30MB
256K, one floppy Drive, Keyboard
30 MB Hard Disk with Controller
and Booster Power Supply
BOOTS FROM HARD DISK Backup also available
$3999
★ PRICE WAR ★ CALLUS LAST WITH YOUR BEST QUOTES
PRINTERS
FX-80...
EPSON LO-1500.
.$489
$599
.CALL
OKIDATA
INCLUDES PLUG&PUY
92P.
93P.
84P.
$399
$649
.$799
^-- 2050 .
NEC 3550
..$799
.$1,499
DYNAX
DX-15
$399
BROTHER S'li
$649
$999
IDS PRISM 132C
COLOR PRINTER
$ 1,499
SHEET FEEDERS
AND TRACTORS
PLOTTERS
AMDEK
AMPLOTII 6Pens
CALL
$799
7470A-2Pens.
7475A-6Pens
...$949
..$1,699
DXY-10I -1 Pen.$599
ROLAND DXY-SOO - 8 Pens.$799
Houston OMP 40-2 Pens... $799
instrument dmp 29 - 8 Pens... $1799
MONITORS
MAX -12 Amber.$179
HX-12 .$449
P05SR-12.$599
ROLAND
CC141 14" RGB.
$599
300 Green.$119
. 300 Amber.$139
AMPeK 310 Amber. ..$159
MODEMS
MICROCOMERA2
Internal.$329 Standalone.$439
HAYES 12008.$399
SMARTMODEM 1200 .$479
Internal ..
QUBIE Standalone .
.$299
.$329
COMPU
HARD DRIVES
UP TO 140 MB
BACKUP ALSO AVAILABLE CALL
EVEREX 10MB
w/Controlier and 2 Year Warranty
$899
MAYNARD 10MK/SOMB
10M8/WS-1.$899 IOMB/WS-2.$1,049
30MB.CALL
NETWORKING
ORCHID TECHNOLOGY
PC Net PLUS Starter Kit.$999
CORVUS OMNINET
TALL GRASS TECHNOLOGY
20 MB w/20 MB Backup .$3,299
35 MB w/45 MB Bockup .$4,495
70 MB w/60 MB Backup.CALL
FLOPPY DRIVES
55B-DSD0.$149
TEAC HEIGHT 55F-QUAD.$199
SANTA CLARA SYSTEMS
PC Terminal.CALL
MULTI-DISPLAY CARDS
jD MonoGraph Plus w/clock & PP.$369
AST Serial Port Option.$30
QUAD Color I
EVEREX Graphics Edge
$199 ColorII ..$199
5399
fullHt-DSDD.$199
CDC HalfHt.-DSDD .$179
TANDON 100-2
Full Ht. DSDD
$179
i,$UPER SPECIALS i,
64KRAM
Set of 9 chips
$45
TECMAR Graphics Master $449
ueRB#<iRi Mono Graphics.$329
HENVULES Color Graphics.$199
NEW
$349
PtANTRONICS
Color Plus $366
PARADISE Multi-display Cord $299
mm^mrn Color/Graphics Cord.$199
IBIVI PC MonoChrorne/Printer Cord.$199
PGS HX-12
$449
Tseng Labs Ultra PAK $499
MULTI FUNCTION CARDS
'^^'^QUADBOARD (to384K) $199
AST$IXPAK»I>MK|I.3B4»} $249
EVEREX $229
TEAC Disk Drive
FD55B, 360K slimline, PC Compatible
$149
KEYTRONIC ^lon
Deluxe Keyboard KB5151>177
ERA 2 MODEM
PC Internal 1200 Baud w/software, 4 Yr. Warranty
$329
COMPAQ
2S6K. 2 Disk Drlvas
$ 1,999
MISC. ADD DNS
PRACTICAL
PERIPHERALS MICROBUFFER.
CALL
CABLE Parallel or Serial
$20
IBM PC DOS].] ..$20 DOS 2.1 ..$50
IBM PC Floppy Drive Controller $139
AMERICAN
EXPRESS
VISA
COD NO SURCHARGE: VISA & MC 3%, AMEX 5%
COMPUTER POWER
ACCESSORIES DIRECTOR
$109
..$299
..$399
STANDBY 200 wahs..
POWER SUPPLY 300 wahs..
Surge Protection, up to 30 minutes Standby Power
805 - 498-6635
2509 THOUSAND OAKS BLVD., THOUSAND OAKS, CA 91362 TELEX 888522
Ad #889
CIRCLE NO. 117 ON READER SERVICE CARD
INDEX TO ADVERTISERS
Reader Service
Number Advertiser Page
273 ABM .183
157 Accudata Software .178
126 Amber Systems .86
104 American High Tech .133
166 Amerisoft .138
206 Answer Software .72
106 Apparat .62-63
300 AshtonTate .108-109
107 Atron .73
110 Avocet .85
153 BSlL Computer .189
193 Beck Manufacturing .176
114 Bellesoft .39
112 Bit Wit Software .191
115 Blaise Computing .84
* Borland International .117
* Borland International .119
108 Bourbaki, Inc.191
116 C-Source .124
113 Carousel Microtools .190
173 Communication Sciences . 114
* Compaq Computer Co. .90-91
117 Compumail .206
197 Computer Baron .104
129 Computer Innovations .182
120 Concept Technologies .172
235 Connecticut Software .68
197 Coosol, Inc.104
230 Corvus .95
121 Creative Solution .102
130 Cuesta Systems .184
125 Curtis Manufacturing ...10-11
133 CXI .C-4
131 D Sl V Systems .132
216 DWB Associates .81
146 Data Access Corp .150
137 Data Base Decisions .41
138 Data Business Vision .167
202 Data Sources .137
111 Data Technology Corp .26
278 Davong Systems .C-3
187 Delta Communications ....175
142 Desert Technologies .184
144 Dragon Industries .15
109 Ecosoft .109
119 Faircom .100
September i984
Reader Service
Number Advertiser Page
213 Flagstaff Engineering .67
122 Great Lakes .121
105 Greenleaf Software .147
222 Harvard Softworks .154
145 Hauppage Computer .74
158 Hayes Microcomputer ..42-43
* Hercules .9
147 Hewlitt Packard .145
124 IBEX Computer Corp .116
277 I-Bus Systems .78
152 IBM .170-71
215 Innovative Data .181
243 Integral Quality .208
122 Interactive Microware .189
149 Interface .145
102 Iomega .115
101 Kammerman Labs .29
159 Laboratory Microsystems . 132
128 Lattice, Inc.116
151 Logitech Inc.101
186 Mark Williams Co., The ... 27
165 mbp Software and Systems
Technology .103
269 Metrabyte .177
118 Micro Data Base Systems .. 12
134 Micro Design Int'l .169
163 Micro Marketing Associates
122
203 Micro Mart .7
155 Micro Tech Exports .168
161 The Microperipheral .168
* Microsoft .22-23
174 Microway .106
* Microware . See Microway
123 Microxpress .174
165 Morgan Computing Co .... 139
125 Mountain Computer, Inc. 162
204 Multi Tech Systems .8
167 Mylstar Electronics .99
103 Novation .148
179 Opt-Tech .118
196 Opt-Tech .168
168 Orange Micro .64
192 Orchid Technology .141
185 Overland Data .168
170 PC Brand .44-45
Reader Service
Number Advertiser Page
182 PC Connection .76-77
183 PC Link .83
169 Pacific Datanet .149
141 Pelada Informatica .127
143 Phoenix Software .6
171 Polygon .96
268 Polytron .97
188 Princeton Graphics .159
226 Programmer's Connection 191
239 Programmer's Shop .160
190 Pure Data LTD.161
191 Quadram Corp.C-2
194 Quaid Software .81
221 Quic-N-Easi Products 162-163
150 Rickerdata .69
207 Rogue River Software .126
199 STB Systems .33
208 STSC .153
160 Santa Cruz Operation .28
236 Satellite Software .13
265 Seequa .204
201 Softcraft .94
172 Software Bottling Co.123
175 Software Horizons .134
198 Software Link .178
132 Spruce Technology .75
299 Standard Datacom .165
176 Star Micronics .155
156 Strategic Automation .120
177 Summit Software .35-37
* Sysgen, Inc.107
200 System Engineering .158
178 TDK Electronics .88-89
234 Tall Grass Technology .2
* Tall Tree Systems .136
225 Taurus Computer .4
154 Tecmar .18,19
195 Tecmar .179
180 Vault Corporation .16-17
140 Visual Age .110
164 Wallsoft Systems, Inc .82
218 Watsoft . 118
228 Watsoft .126
181 Word Tech .87
148 Zanthe .1
184 Zeducomp .135
207
CALENDAR
USP
FOR THE
THE PREMIER LANGUAGE
OF ARTIFICIAL
INTELLIGENCE FOR
YOUR IBM PC.
■ DATATYPES
Lists and Symbols
Unlimited Precision Integers
Floating Point Numbers
Character Strings
Multidimensional Arrays
Files
Machine Language Code
■ MEMORY MANAGEMENT
Full Memory Space Supported
Dynamic Allocation
Compacting Garbage Collector
■ FUNCTION TYPES
EXPR/FEXPR/MACRO
Machine Language Primitives
Over 190 Primitive Functions
■ lO SUPPORT
Multiple Display Windows
Cursor Control
All Function Keys Supported
Read and Splice Macros
Disk Files
■ POWERFUL ERROR RECOVERY
■ 8087 SUPPORT
■ COLOR GRAPHICS
■ LISP LIBRARY
Structured Programming Macros
Editor and Formatter
Package Support
Debugging Functions
OBJ File Loader
■ RUNS UNDER PC-DOS 1.1 or 2.0
_ IQLISP _
5Va” Diskette
and Manual_$175.00
Manual Only_$ 30.00
Jq Integral Quality
P.O.Box 31970
Seattle, Washington 98103-0070
(206) 527-2918
Washington State residents add sales tax.
VISA and MASTERCARD accepted.
Shipping included for prepaid orders.
SEPTEMBER _
September 3-5
IBM System User Show
London
Sponsor: IBM System User Magazine
Contact: EMAP International
Exhibitions Ltd., 8 Herbal Hill,
London, ECIR 5JB, England
September 6-9
CompuLearn: International
Exposition and Conference on
Computers in Education
Atlanta, GA
Sponsors: Expoconsul International, Inc.
and A Better Way in cooperation
with The United Negro
College Fund
Contact: Expoconsul International Inc.,
55 Princeton-Hightstown Road,
Princeton Junction, NJ 08550
September 11-14
UNIX Systems EXPO/84
Los Angeles, CA
Sponsor: Computer Faire, Inc.
Contact: David Sudkin, 617-965-8350;
Alan Kucheck, 415-364-4294
September 12-14
Eurographics '84
Copenhagen
Sponsor: SIGGRAPH
Contact: DIS Congress Service, Linde
Alle 48, DK-2720 Vanlose,
Copenhagen, Denmark
September 16-20
COMECON Fall
Arlington, VA
Sponsor: IEEE
Contact: IEEE, P.O. Box 639,
Silver Spring, MD 20901
September 20-23
New York/Userfest
New York, NY
Sponsor: Northeast Expositions
Contact: Northeast Expositions,
617-739-2000
September 24-25
World Conference on
Ergonomics in Computer
Systems
Los Angeles, CA
Contact: Crispin Littlehales or
Rosemarie Burnett,
Thomas L. Richmond, Inc.,
1350 Avenue of the Americas,
New York, NY 10019
212-581-4200
September 24-26
PCExpo
Anaheim, CA
Contact: PCExpo Shows,
333 Sylvan Avenue,
Englewood Cliffs, NJ 07632,
201-569-8542
September 27-30
5th Annual Mid-Atlantic
Computer Show and Office
Equipment Exposition
Washington, D.C.
Sponsor: CompuShows, Inc.
Contact: CompuShows, Inc.,
P.O. Box 3315,
Annapolis, MD 21403
OCTOBER _
October 2-4
East Coast Computer Faire
Boston, MA
Sponsor: Computer Faire, Inc.
Contact: Dave Roth, 617-965-8350 (East
Coast office); Nels Anderson,
415-364-4294 (West Coast office)
October 8-10
ACM 1984 Conference
San Francisco, CA
Contact: Karen A. Duncan, Health
Information Systems, 15 Parsons Way,
Los Altos, CA 94022, 415-948-3941
October 9-11
International Conference on
Advances in Microprocessor
Peripherals
Lausanne, Switzerland
Contact: Secretariat des Jouintes
d'electronique et de microtechnique,
Departement d'Electricite^EPFL,
Chenin de Bellerive 16, CH-1(X)7
Lausanne, Switzerland, 41-21-471111
October 15-17
4th Symposium on Reliability
in Distributed Software and
Database Systems
Silver Spring, MD
Sponsor: IEEE Computer Society, in
cooperation with ACM
Contact: IEEE Computer Society,
P.O. Box 639, Silver Spring, MD 20901,
301-589-8142
October 15-18
SOFTCON/FALL
Los Angeles, CA
Sponsor: Northeast Expositions
Contact: Northeast Expositions,
617-739-2000
CIRCLE NO. 243 ON READER SERVICE CARD
PC Tech Journal
The Perfect Match
Davonghasa
beautiful way to solve
__ both your hard
Davong'tS^n^e^
combines good
looks with hard
disk and tape.
We offer a
full range of
disk sizes, all includ¬
ing a hard disk drive plus
tape backup unit. And the
capability of using the tape as
a start/stop systems device.
IHKl
In fact, this Davong
DataSystem has a lot of other
beautiful benefits, too. Like com¬
pressed or full-volume backup
with file-by-file or full-volume
restore. And automatic flaw
mapping to ensure complete
media interchangeability.
®Multi-OS is a registered trademark of Davong Systems, Inc. ®IBM is a registered trademark of IBM Corp.
Our full XT compatibility
actually offers performance
a cut above other XTs. And
if you want even higher
performance and password
protection, you can use our
Multi-OS® software.
To top it off, there's the
sleek, contemporary styling
of our DataSystem. And a
low price that's equally
attractive.
Davong
DataSystem
for IBM
PC's.
Davong Systems, Inc.
217 Humboldt Court
Sunnyvale, CA 94089
(408) 734-4900 Telex: 176386
CIRCLE NO. 278 ON READER SERVICE CARD
Introducing
3270 PC capability for all the PCs you
can’t afford to replace.
When IBM designed the 3270 PC, they
thought of everything. Except what to do with
all the PCs your company already owns.
We were a little more thoughtful.
Tkke our CXI 3270 PC Connection. It’s an
add-in board and software that turns the IBM*
PCs and compatibles you have into the 3270
PCs you need. Both local and remote.
Using either a coaxial or
modem connection.
Now your users can
access and “window” up to
five different host applications
at the same time. There’s also a window for
running a PC DOS program. Which can be easily
programmed to talk with any host session—
or all five at once. And if that weren’t enough,
we even included two electronic notepads.
But here’s the best part.
Your existing PC-attached printers can
work as host-addressable IBM 3287 equivalents.
You can run all the PC software you’ve already
invested in. And even international keyboard
mapping and file transfer are standard.
Of course, not everyone
on your network needs foil
3270 PC capability.That’s why
we offer the CXI 3278/79 Plus
connection. It lets your PC
users view one host session, one PC program
and two notepads—concurrently.
Our entire line of CONNECTWARE™
micro-to-mainframe solutions is available on
a 30-day free trial basis.
So for more information, call toll-free
800/221-6402. In California, call 415/424-0700.
Or write CXI, Inc., 3606 West Bayshore
Road, Palo Alto, CA 94303.
Telex 821945.
And get the 3270 PC I Jy I
capability you need on the
PCs you already have. il^HIIH
CONNECTWARE is a trademark of CXI, Inc. IBM is a registered trademark of International Business Machines Corp. © 1984, CXI, Inc.
CIRCLE NO. 133 ON READER SERVICE CARD